1. 程式人生 > >mysql+mysql_proxy實現讀寫分離

mysql+mysql_proxy實現讀寫分離

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/

#實現mysql讀寫分離的文件

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

#從mysql服務器(只讀)

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實現讀寫分離