环境: 192.168.100.210 192.168.100.104 192.168.100.208 192.168.100.106
说明:210,104作为mysql数据库. 208作为mysql-proxy. 106作为测试机器.
相关软件下载: lua
mysql-proxy
1. 在208上安装lua
#tar zxvflua-5.1.4.tar.gz-C/usr/local # cd /usr/local #mv lua-5.1.4 lua #cd lua #make //make之后可以看到系统列表,下面的 命令要用到 #make linux //我这里是linux
#make install
2.安装mysql-proxy
# tar -zxvf mysql-proxy-0.6.0-linux-rhas4-x86.tar.gz -C /usr/local/ # cd /usr/local/ # mv mysql-proxy-0.6.0-linux-rhas4-x86mysql-proxy # export PATH=$PATH:/usr/local/mysql-proxy/sbin/ #mysql-proxy --proxy-read-only-backendaddresses=192.168.100.210:3306 --proxy-backend-addresses=192.168.100.104:3306 --proxy-lua-script=/home2/mysql-proxy-0.6.0-linux-rhas4-x86/share/mysql-proxy/rw-splitting.lua &
3.在210,104上设置权限 mysql> grant all privileges on backup.* to [email=backup@'%']backup@'%'[/email] identified by 'shenxun'; //这里给个账号backup,密码shenxun,读写操作的数据库是backup.
4.进行测试.
用106连接208的mysql-proxy:
/usr/bin/mysql -u backup -pshenxun –P4040 –h 192.168.100.208 –D backup
创建一个表
Createtable haha(id int,name char(6));
然后我们到210和104上去看下数据库的情况,看到210是没有刚才 写入的数据库表,而104是有刚才写入的数据表的. 现在我们把上面的命令修改下
mysql-proxy --proxy-backend-addresses=192.168.100.210:3306 --proxy-backend- addresses=192.168.100.104:3306 --proxy-lua-script=/home2/mysql-proxy-0.6.0-linux-rhas4- x86/share/mysql-proxy/rw-splitting.lua &
然后我们在208上再重新建个表
Createtable xixi(id int,name char(6)); 这个时候再到210和104上去看下数据库的情况,发现2个数据库都有刚才写入的数据 库表. 可以充分说明我们的数据库读写分离已经实现了
|