使用Atlas實現MySQL讀寫分離


1、MySQL所在機器

  192.168.29.128(Master)

  192.168.29.129(Slave)

  配置好主從同步,參考 http://www.cnblogs.com/luxh/p/4088420.html

2、下載安裝Atlas

  https://github.com/Qihoo360/Atlas/releases

  注意操作系統的版本,安裝相應版本的Atlas。我下載的是Atlas-2.2.el6.x86_64.rpm

  這里直接安裝到192.168.29.130這台機器上。

rpm -i Atlas-2.2.el6.x86_64.rpm 

 

3、配置Atlas

  Atlas的安裝目錄是 /usr/local/mysql-proxy,進入安裝目錄下conf目錄,編輯test.cnf文件,很多選項用默認值即可。

  1)主庫的ip和端口,可設置多項,用逗號分隔

proxy-backend-addresses = 192.168.29.128:3306

  2)(非必備,根據實際情況配置)從庫的IP和端口,@后面的數字代表權重,用來作負載均衡,若省略則默認為1,可設置多項,用逗號分隔。如果想讓主庫也能分擔讀請求的話,只需要將主庫信息加入到下面的配置項中。

proxy-read-only-backend-addresses = 192.168.29.129:3306

  3)(必備,根據實際情況配置)用戶名與其對應的加密過的MySQL密碼,密碼使用安裝路徑 /bin目錄下的加密程序encrypt加密,用戶名與密碼之間用冒號分隔。主從數據庫上需要先創建該用戶並設置密碼(用戶名和密碼在主從數據庫上要一致)。

  加密密碼:

./encrypt 123456

  配置密碼

pwds = root:/iZxz+0GRoA=

  4)(必備,默認值即可)Atlas的運行方式,設為true時為守護進程方式,設為false時為前台方式,一般開發調試時設為false,線上運行時設為true

daemon = true

  5)(必備,默認值即可)Atlas監聽的工作接口IP和端口,proxy-address = 0.0.0.0:1234代表客戶端應該使用1234這個端口連接Atlas來發送SQL請求。

proxy-address = 0.0.0.0:1234

  6)(必備,默認值即可)Atlas監聽的管理接口IP和端口,admin-address = 0.0.0.0:2345代表DBA應該使用2345這個端口連接Atlas來執行運維管理操作。

admin-address = 0.0.0.0:2345

  7)(可選項,可不設置)默認字符集,若不設置該項,則默認字符集為latin1

charset = utf8

   8)(必備,根據實際情況配置)SQL日志的開關,可設置為OFF、ON、REALTIME,OFF代表不記錄SQL日志,ON代表記錄SQL日志,該模式下日志刷新是基於緩沖區的,當日志填滿緩沖區后,才將日志信息刷到磁盤。REALTIME用於調試,代表記錄SQL日志且實時寫入磁盤,默認為OFF

sql-log = REALTIME

  日志路徑在 /usr/local/mysql-proxy/log 下

4、運行Atlas

  進入/usr/local/mysql-proxy/bin目錄,執行下面的命令啟動、重啟或停止Atlas。

 ./mysql-proxyd test start,啟動Atlas。

 ./mysql-proxyd test restart,重啟Atlas。

 ./mysql-proxyd test stop,停止Atlas。

  啟動:

[root@Luxh-01 bin]# ./mysql-proxyd test start
OK: MySQL-Proxy of test is started
[root@Luxh-01 bin]# 

  注意:

  (1). 運行文件是:mysql-proxyd(不是mysql-proxy)。

  (2). test是conf目錄下配置文件的名字,也是配置文件里instance項的名字,三者需要統一。

  (3). 可以使用ps -ef | grep mysql-proxy查看Atlas是否已經啟動或停止。

5、連接

  客戶端使用剛才配置的Atlas監聽端口連接到Atlas代理服務

[root@Luxh-03 ~]# mysql -h192.168.29.130 -P1234 -uroot -p123456

  執行sql進行測試,可以通過日志看到寫操作都在Master,讀操作都連接到Slave了

 

  連接到管理端口

[root@Luxh-03 conf]# mysql -h192.168.29.130 -P2345 -uuser -ppwd

  進入后執行:select * from help;查看管理DB的各類命令。

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM