测试环境:debian linux
192.168.3.105(安装mysql proxy)
192.168.3.100
192.168.3.104
1 安装lua
apt-install lua5.1
2 安装mysql-proxy,我下载的是0.8.1版,把文件解压到/usr/local/mysql-proxy目录下
,然后在/usr/local/mysql-proxy目录下,添加一个配置文件mysql-proxy.cnf.
编辑mysql-proxy.cnf,内容是:
[mysql-proxy]
log-file = /usr/local/mysql-proxy/mysqlproxy.log(日志文件)
proxy-address=192.168.3.105:4040(proxy所在IP)
proxy-backend-addresses=192.168.3.104:3306
proxy-backend-addresses=192.168.3.100:3306
proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
保存
3 运行命令
# /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/mysql-proxy.cnf &
在192.168.3.100, 192.168.3.104上分别运行mysql命令,
grant all on *.* to root@192.168.3.105
flush privileges
这样可以保证105有权限访问和更新数据
4 登录192.168.3.105(mysql-proxy)上的mysql
#mysql -uroot -P4040 -h192.168.3.105 (用户名root,要保证其它的2个库也有这个用户名,并且有权限让proxy访问)
# insert into test.a set name='from 105'
发现只会更新一个库中的数据,并且停掉100这个数据库,再打开新终端时,就会提示(proxy) all backends are down。。。。。。。。。。。。。这样就没有了负载平衡功能。。。。。真无语。。。还得再研究一下。。。