mysql+mysql_proxy實現讀寫分離
mysql讀寫分離需要基於主從架構實現
mysql主從配置:http://hongchen99.blog.51cto.com/12534281/1917137
mysql-proxy:用於實現mysql主從分離,基於主從架構
讀寫分離存在的最大問題就是主從同步延遲
安裝mysql-proxy:
1、wget https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz
2、tar zvxf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz -C /usr/local
3、cd /usr/local/
4、mv mysql-proxy-0.8.5-linux-el6-x86-64bit/ mysql-proxy
5、useradd -r mysql-proxy #創建運行用戶
6、chown -R root:root mysql-proxy/ #修改權限
7、cd mysql-proxy/
8、mkdir etc #創建配置文件目錄
9、mkdir logs #創建日誌文件目錄
配置mysql-proxy:
1、cp share/doc/mysql-proxy/rw-splitting.lua etc/ #實現mysql讀寫分離的文件
2、cp share/doc/mysql-proxy/admin-sql.lua etc/
3、vim /etc/mysql-proxy.cnf #編輯配置文件
[mysql-proxy]
user=root #運行mysql-proxy的用戶
admin-username=root #連接主從的用戶,在主從中必須授權mysql-proxy可以登錄
admin-password=123.com #用戶密碼,主從的用戶名和密碼必須相同
proxy-address=0.0.0.0:4041 #監聽地址和端口
proxy-backend-addresses=192.168.0.10:3306 #主mysql服務器
proxy-read-only-backend-addresses=192.168.0.40:3306
proxy-read-only-backend-addresses=192.168.0.60:3306 #從mysql服務器(只讀)
proxy-lua-script=/usr/local/mysql-proxy/etc/rw-splitting.lua
#實現mysql讀寫分離的重要文件位置
admin-lua-script=/usr/local/mysql-proxy/etc/admin-sql.lua
#實現mysql讀寫分離的重要文件位置
pid-file=/var/run/mysql-proxy.pid #PID文件
log-file=/usr/local/mysql-proxy/logs/mysql-proxy.log #日誌文件
log-level=info #日誌級別
daemon=true #是否已守護進程方式運行
keepalive=true #mysql-proxy崩潰時,嘗試重啟
4、chmod 660 /etc/mysql-proxy.cnf #修改權限(必須)
修改rw-splitting.lua(為了測試試驗效果)
vim /usr/local/mysql-proxy/etc/rw-splitting.lua
if not proxy.global.config.rwsplit then
proxy.global.config.rwsplit = {
min_idle_connections = 1,
#默認超過4個連接數時,開始讀寫分離,改為1,其余不動
max_idle_connections = 8,
is_debug = false
}
end
本文出自 “自動化運維” 博客,請務必保留此出處http://hongchen99.blog.51cto.com/12534281/1926484
mysql+mysql_proxy實現讀寫分離