本来是要测atlas 的,可惜没有32的版本,而两种又极其相似,只是内部实现有所不同,所以就熟悉mysql-proxy 为替代吧。


环境:由于条件限制,在单一台机器上测试

rw: 192.168.137.129:3306

ro: 192.168.137.129:3307

viproxy: 192.168.137.129:3814

viadmin: 192.168.137,129:4041


配置文件:myproxy.cnf

[mysql-proxy]

proxy-address=0.0.0.0:38141

plugins = admin,proxy

admin-address = 0.0.0.0:4041

admin-username=admin

admin-password=admin

admin-lua-script=/usr/local/mysqlproxy/lib/mysql-proxy/lua/admin.lua


proxy-backend-addresses=192.168.137.129:3306

proxy-read-only-backend-addresses=192.168.137.129:3307

proxy-lua-script=/usr/local/mysqlproxy/share/doc/mysql-proxy/rw-splitting.lua


log-file=/usr/local/mysqlproxy/log/mysql-proxy.log

log-level=debug

daemon=true

keepalive=true


启动:进入客户端目录

./bin/mysql-proxy --defaults-file=/etc/myproxy.cnf


查看当前的管理操作:

./bin/mysql -h 192.168.137.129 -P 4041 -uadmin -p

select * from backends;    //查看当前各个sql节点的状态


从代理端口操作sql节点

./bin/mysql -h 192.168.137.129 -P 38141 -u test -p

#之前已经通过grant 在sql节点上创建了能用的sql 用户

#进入后就能像操作sql 一样的操作了


注:当时查看管理节点时,发现不能自动的轮询查询,后来发现是lua rw脚本里的配置最小 节点连接数

为4,而我的测试时并只开了两个连接,所以不能轮询查询,改过来后即可