使用Atlas實現MySQL讀寫分離

來源:互聯網
上載者:User

標籤:style   blog   http   ar   color   使用   sp   strong   檔案   

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。

  啟動:

[[email protected] bin]# ./mysql-proxyd test startOK: 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代理服務

[[email protected] ~]# mysql -h192.168.29.130 -P1234 -uroot -p123456

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

 

  串連到管理連接埠

[[email protected] conf]# mysql -h192.168.29.130 -P2345 -uuser -ppwd

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

 

  

 

使用Atlas實現MySQL讀寫分離

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.