基於Mysql-Proxy實現Mysql的主從複製以及讀寫分離(下)mysql
昨天談到了Mysql實現主從複製,但因爲時間緣由並未講有關讀寫分離的實現,之因此有讀寫分離,是爲了使數據庫擁有雙機熱備功能,至於雙機熱備,特指基於高可用系統中的兩臺服務器的熱備(或高可用),因兩機高可用在國內使用較多,故得名雙機熱備,雙機高可用按工做中的切換方式分爲:主-備方式(Active-Standby方式)和雙主機方式(Active-Active方式),主-備方式即指的是一臺服務器處於某種業務的激活狀態(即Active狀態),另外一臺服務器處於該業務的備用狀態(即Standby狀態)。而雙主機方式即指兩種不一樣業務分別在兩臺服務器上互爲主備狀態(即Active-Standby和Standby-Active狀態)。接下來開始使用Mysql-Proxy實現讀寫分離。sql
環境數據庫
系統:CentOS6.5後端
Master:172.16.19.2服務器
Slave:172.16.19.24lua
mysql-proxy:172.16.19.14spa
安裝就不說了,基本都是yum install進行安裝的。和昨天的同樣(其實就是接着昨天的來~)。.net
讀寫分離的實現debug
首先,在第三臺服務器安裝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
<。)#)))≦