標籤:
基於Mysql-Proxy實現Mysql的主從複製以及讀寫分離(下)
昨天談到了Mysql實現主從複製,但由於時間原因並未講有關讀寫分離的實現,之所以有讀寫分離,是為了使資料庫擁有雙機熱備功能,至於雙機熱備,特指基於高可用系統中的兩台伺服器的熱備(或高可用),因兩機高可用在國內使用較多,故得名雙機熱備,雙機高可用按工作中的切換方式分為:主-備方式(Active-Standby方式)和雙主機方式(Active-Active方式),主-備方式即指的是一台伺服器處於某種業務的啟用狀態(即Active狀態),另一台伺服器處於該業務的備用狀態(即Standby狀態)。而雙主機方式即指兩種不同業務分別在兩台伺服器上互為主備狀態(即Active-Standby和Standby-Active狀態)。接下來開始使用Mysql-Proxy實現讀寫分離。
環境
系統:CentOS6.5
Master:172.16.19.2
Slave:172.16.19.24
mysql-proxy:172.16.19.14
安裝就不說了,基本都是yum install進行安裝的。和昨天的一樣(其實就是接著昨天的來~)。
讀寫分離的實現
首先,在第三台伺服器安裝mysql-proxy:yum install mysql-proxy。
然後修改設定檔:
1 [mysql-proxy] 2 daemon = true #以後台守護進程方式啟動 3 pid-file = /var/run/mysql-proxy.pid 4 log-file = /var/log/mysql-proxy.log 5 log-level = debug #設定記錄層級為debug,可以在調試完成後改成info 6 max-open-files = 1024 7 plugins = admin,proxy 8 user = mysql-proxy 9 # 10 #Proxy Configuration 11 proxy-address = 0.0.0.0:3307 #指定mysql-proxy的監聽地址 12 #proxy-address = 172.16.19.24:4040 13 #proxy-backend-addresses = localhost:3306 14 proxy-backend-addresses = 172.16.19.2:3306 #設定後台主伺服器:主伺服器,master可讀寫 15 proxy-read-only-backend-addresses = 172.16.19.24:3306 #設定後台從伺服器:從伺服器,slave,唯讀 16 proxy-lua-script = /usr/lib64/mysql-proxy/lua/rw-splitting.lua #設定讀寫分離指令碼路徑,可在官網下載mysql-proxy包,解壓後 17 #proxy-skip-profiling = true 18 # 19 # Admin Configuration 20 #admin-address = 0.0.0.0:4041 21 admin-lua-script = /usr/lib64/mysql-proxy/lua/admin.lua #設定管理後台lua指令碼路徑,改指令碼預設沒有要自動定義 22 admin-username = root #設定登入管理地址使用者 23 admin-password = 123456 #設定系統管理使用者密碼
設定完成後,即可執行:service mysql-proxy start啟動服務。
使用mysql -uroot -p -h172.16.19.14 --port=3307進入資料庫查看或更改資料庫。
使用mysql -uroot -p -h172.16.19.14 --port=4041進入資料庫管理資料庫。
若沒有使用者通過mysql-proxy串連到後端,則狀態為unknown,否則的話為up。至此,mysql 的主從複製以及讀寫分離就實現了。
PS:本部落格歡迎轉寄,但請註明部落格地址及作者,因本人水平有限,若有不對之處,歡迎指出,謝謝~
部落格地址:http://www.cnblogs.com/voidy/
部落格新址:http://voidy.net
<。)#)))≦
基於Mysql-Proxy實現Mysql的主從複製以及讀寫分離(下)