实验环境:
Server1:Master(172.25.254.1)
Server2:Slave(172.25.254.2)
Server3:Mysql-proxy(172.25.254.3)
1、server1与server2配置主从复制
Server3:配置读写分离
1、下载mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz压缩包,解压
tar zxf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz -C /usr/local/
mv mysql-proxy-0.8.5-linux-el6-x86-64bit/ mysql-proxy
2、添加环境变量:
[root@server3 mysql]# vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql-proxy/bin
[root@server3 mysql]# source ~/.bash_profile
3、编辑配置文件
cd /usr/local/mysql-proxy/
[root@server3 mysql-proxy]# mkdir logs ###proxy日志目录
[root@server3 mysql-proxy]# mkdir conf ###proxy配置文件目录
[root@server3 conf]# cat mysql-proxy.conf
[mysql-proxy]
user=root ###运行prxoy用户
daemon=true ###打入后台,以守护进程方式运行
plugins=proxy,admin
proxy-address=172.25.254.3:3306 ###proxy运行端口及IP,默认端口4040
proxy-backend-addresses=172.25.254.1:3306 ###后端master写入
proxy-read-only-backend-addresses=172.25.254.2:3306 ###后端slave读取
proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua ###读写分离lua脚本位置
log-file=/usr/local/mysql-proxy/logs/mysql-proxy.log ###日志文件
log-level=info ###日志级别
admin-address=172.25.254.3:4041 ###admin地址及端口
admin-username=admin ###管理用户 也可以是主从复制用户
admin-password=westos ###管理用户密码
admin-lua-script=/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua ###admin脚本位置
keepalive=true ###健康检查,当mysql-proxy崩溃时,尝试重启
chmod 660 mysql-proxy.conf
4、修改lua脚本
vim /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
if not proxy.global.config.rwsplit then
proxy.global.config.rwsplit = {
min_idle_connections = 1, ###最小连接数 默认4
max_idle_connections = 2, ###最大连接数 默认8
is_debug = false
}
end
开启mysql-proxy 查看mysql-proxy以及admin端口号
[root@server3 conf]# /usr/local/mysql-proxy/bin/mysq