標籤:mysql linux 讀寫分離 主從同步
Mysql讀寫分離
mysql讀寫分離技術又稱為mysql代理服務,通過在mysql主從同步的基礎上增加一台Proxy 伺服器來實現將訪問資料庫時的讀和寫操作分配到不同伺服器上來實現負載平衡,從而提高資料庫訪問的速度。
搭建mysql讀寫分離服務時,要先搭建mysql主從同步服務,其中主伺服器負責寫操作,即作為寫伺服器,從伺服器負責讀操作,即讀伺服器。搭建過程中要在Proxy 伺服器上安裝代理軟體以及mysql資料庫。其具體的分配策略需要通過指令碼實現,本文採用軟體包預設指令碼。
搭建步驟:
1、搭建mysql主從同步伺服器
2、Proxy 伺服器安裝代理軟體並開啟服務
本文使用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、測試