mysql-proxy 读写分离,不支持mysql5.7的client客户端登录
安装前,先有 mysql
主从
下载proxy,https://downloads.mysql.com/archives/proxy/#downloads
wget https://downloads.mysql.com/archives/get/p/21/file/mysql-proxy-0.8.5-linux-debian6.0-x86-64bit.tar
tar zxvf mysql-proxy-0.8.5-linux-debian6.0-x86-64bit.tar
mv mysql-proxy-0.8.5-linux-debian6.0-x86-64bit.tar /usr/local/mysql-proxy
cd /usr/local/mysql-proxy
创建日志和lua脚本目录
mkdir logs lua
复制lua读写脚本和管理脚本
cp share/doc/mysql-proxy/rw-splitting.lua ./lua
cp share/doc/mysql-proxy/admin-sql.lua ./lua
创建配置文件 mysql.proxy
[mysql-proxy]
user=root #运行mysql-proxy用户
admin-username=mysql_proxy #mysql-proxy平台链接后端主从的用户(所以这个用户需要在主从授权给这个机器)
admin-password=proxy123456 #mysql-proxy平台链接后端主从的密码
proxy-address=192.168.1.102:4040 #proxy服务监听的端口
proxy-read-only-backend-addresses=192.168.1.101:3306 #后端负责 只读 的机器(从)
proxy-backend-addresses=192.168.1.252:3306 #后端负责 写入 的机器(主)
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=debug
daemon=true #以守护进程的方式运行
keepalive=true #心跳检测
启动 myql-proxy
/usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/mysql-proxy.conf
这里主要,mysql 5.6
, 5.5
的客户端可以通过 mysql-proxy登录后端的mysql server: