Mysql讀寫分離
mysql讀寫分離技術又稱爲mysql代理服務,通過在mysql主從同步的基礎上增加一臺代理服務器來實現將訪問數據庫時的讀和寫操作分配到不同服務器上來實現負載均衡,從而提高數據庫訪問的速度。
搭建mysql讀寫分離服務時,要先搭建mysql主從同步服務,其中主服務器負責寫操作,即作爲寫服務器,從服務器負責讀操作,即讀服務器。搭建過程中要在代理服務器上安裝代理軟件以及mysql數據庫。其具體的分配策略需要通過腳本實現,本文采用軟件包默認腳本。
搭建步驟:
1、搭建mysql主從同步服務器
2、代理服務器安裝代理軟件並開啓服務
本文使用mysql-proxy-0.8.3-linux-rhel5-x86-64bit.tar.gz代理軟件包,該軟件包無需安裝,直接解壓後即可使用。
(1)解壓軟件包
tar -zxf mysql-proxy-0.8.3-linux-rhel5-x86-64bit.tar.gz -C /usr/local/mysql-proxy
進入解壓後的目錄
(2)爲分配策略腳本添加執行權限
其分配策略腳本位於軟件目錄下的/usr/local/mysql-proxy/share/doc/mysql-proxy/目錄,其中的rw-splitting.lua就爲策略腳本
chmod a+x rw-splitting.lua//爲腳本添加執行權限
(3)釋放3306端口並啓動服務
netstat -tnlup | grep :3306//檢查3306端口是否被佔用
進入目錄/usr/local/mysql-proxy/bin目錄,其中mysql-proxy即爲代理服務的啓動腳本
使用./mysql-proxy [選項] 啓動服務:
其中選項含義如下:
-P:指定代理監聽的IP地址、端口
-r:指定讀服務器的IP地址、端口
-b:指定寫服務器的IP地址、端口
-s:指定lua腳本文件的路徑
--keepalive:若進程崩潰,自動重啓此進程
注意:該服務啓動後需要一直運行,故在啓動服務時可以將其置入後臺,關閉服務時需要通過殺進程的方式來關閉。
3、測試