任务:在web1连接mysql-proxy,读取数据时访问slave,改写数据时访问master(master及slave节点已配置好了主从复制)
1.
web1:192.168.183.111
master:192.168.183.201
slave:192.168.183.202
2.
(1)下载mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz
tar -zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz
mv mysql-proxy-0.8.5-Linux-glibc2.3-x86-64bit/ /usr/local/mysql-proxy
cd /usr/local/mysql-proxy
mkdir lua #创建脚本存放目录
mkdir logs #创建日志目录
cp share/doc/mysql-proxy/rw-splitting.lua ./lua #复制读写分离配置文件
cp share/doc/mysql-proxy/admin-sql.lua ./lua #复制管理脚本
(2)vi /etc/mysql-proxy.cnf #创建配置文件
[mysql-proxy]
user=root
admin-username=myproxy
admin-password=123456
proxy-address=127.0.0.1:3306
proxy-read-only-backend-addresses=192.168.183.202
proxy-backend-addresses=192.168.183.201
proxy-lua-script=/usr/local/mysql-proxy/lua/rw-splitting.lua
admin-lua-script=/usr/local/mysql-proxy/lua/admin-sql.lua
log-file=/usr/local/mysql-proxy/logs/mysql-proxy.log
log-level=info
(3)chmod 660 /etc/mysql-proxy.cnf
(4)vi /usr/local/mysql-proxy/lua/rw-splitting.lua
if not proxy.global.config.rwsplit then
proxy.global.config.rwsplit = {
min_idle_connections = 1, #默认超过4个连接数时,才开始读写分离,改为1
max_idle_connections = 1, #默认8,改为1
is_debug = false
}
end
(5)/usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/etc/mysql-proxy.cnf --daemon #启动mysql-proxy
netstat -tupln | grep 3306 #检查是否已经启动
(6)在mysql-master和masql-slave上授权给mysql-proxy
mysql>grant all on *.* to 'myproxy'@'192.168.183.%' identified by '123456';
3.测试