文章插图
# vi rw-splitting.lua

文章插图
2)、修改完成后,启动mysql-proxy
# cd /usr/local/mysql/bin# ./mysql-proxy --proxy-read-only-backend-addresses=192.168.95.12:3306 --proxy-backend-addresses=192.168.95.11:3306 --proxy-lua-script=/usr/local/mysql-proxy/rw-splitting.lua &参数:--proxy-read-only-backend-addresses#只读服务器地址(ip)
--proxy-backend-addresses#服务器地址(主服务器)
--proxy-lua-script#lua脚本路劲
&#表示后台执行

文章插图
3)、创建用于读写分离的数据库连接用户用户名:proxy1
密 码:321
mysql>grant all on *.* to 'proxy1'@'192.168.95.13' identified by '321';mysql>use aa;mysql>create table tab1(id int auto_increment,name varchar(32) not null,primary key(id));【因为已经开启了主从复制所以,11、12主机mysql中都创建了这个用户】4)、测试登陆账号proxy1@192.168.95.13进行添加数据可以使用任意ip客户端登陆这个账号
在192.168.95.13登陆:
# ./mysql -u proxy1 -P4040 -h192.168.95.13 –p

文章插图
在两个mysql中查看结果:一致

文章插图
结果表明:账号使用
(ps:id是自增长,之前高主主复制的时候更改了配置文件,还没更改回来,就将就用着先吧)
5)、关闭12mysql的从复制mysql> stop slave;

文章插图
6)、证明写分离【阿里大神都在用的MySQL读写分离】使用proxy1@192.168.95.13账号打开多个客户端进行插入数据
打开三个mysql客户端分别插入2条数据:
mysql> insert into tab1 (name) values('stop_slave11111');….mysql> insert into tab1 (name) values('stop_slave6666’);查看:分别登陆11mysql与12mysql查看aa.tab1中的数据
主数据库:

文章插图
从数据库:

文章插图
结果中显示插入的数据存在与主数据库,而从数据库没有,所以证明写能够分离 。
7)、证明读分离使用proxy1@192.168.95.13账号登陆mysql,查看aa.tab1中的数据
mysql>use aa;mysql>select*from tab1;
文章插图
结果中显示只有从数据库的数据,结合上面的测试,可以证明读分离 。
6、建议为了方便启动与管理mysql-proxy可以创建mysql-proxy服务管理脚本
下面这个管理脚本仅适合以上我给出的安装路径位置
【此管理脚本需要按照自己的安装路径做出相应的修改方可使用】
1 #!/bin/sh 23 # 4 # mysql-proxy This script starts and stops the mysql-proxy daemon 5 # 6 # chkconfig: - 78 30 7 # processname: mysql-proxy 8 # description: mysql-proxy is a proxy daemon to mysql 9 10 # Source function library.11 . /etc/rc.d/init.d/functions12 13 #PROXY_PATH=/usr/local/bin14 PROXY_PATH=/usr/local/mysql-proxy/bin15 16 prog="mysql-proxy"17 18 # Source networking configuration.19 . /etc/sysconfig/network20 21 # Check that networking is up.22 [ ${NETWORKING} = "no" ] && exit 023 24 # Set default mysql-proxy configuration.25 #PROXY_OPTIONS="--daemon"26 27 PROXY_OPTIONS="--proxy-read-only-backend-addresses=192.168.95.12:3306 --proxy-backend-addresses=192.168.95.11:3306 --proxy-lua-script=/usr/local/mysql-proxy/rw-splitting.lua"28 29 PROXY_PID=/usr/local/mysql-proxy/run/mysql-proxy.pid30 31 # Source mysql-proxy configuration.32 if [ -f /etc/sysconfig/mysql-proxy ]; then33. /etc/sysconfig/mysql-proxy34 fi35 36 PATH=$PATH:/usr/bin:/usr/local/bin:$PROXY_PATH37 # By default it's all good38 RETVAL=039 40 # See how we were called.41 case "$1" in42start)43# Start daemon.44echo -n $"Starting $prog: "45$NICELEVEL $PROXY_PATH/mysql-proxy $PROXY_OPTIONS --daemon --pid-file=$PROXY_PID --user=root --log-level=debug --log-file=/usr/local/mysql-proxy/log/mysql-proxy.log46RETVAL=$?47echo48if [ $RETVAL = 0 ]; then49touch /var/lock/subsys/mysql-proxy]50echo "ok"51fi52;;53stop)54# Stop daemons.55echo -n $"Stopping $prog: "56killproc $prog57RETVAL=$?58echo59if [ $RETVAL = 0 ]; then60rm -f /var/lock/subsys/mysql-proxy61rm -f $PROXY_PID62fi63;;64restart)65$0 stop66sleep 367$0 start68;;69condrestart)70[ -e /var/lock/subsys/mysql-proxy ] && $0 restart71;;72status)73status mysql-proxy74RETVAL=$?75;;76*)77echo "Usage: $0 {start|stop|restart|status|condrestart}"78RETVAL=179;;80 esac81 exit $RETVAL
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 游戏|Epic喜+1被大神破解!本周四神秘游戏或为《无主之地3》
- 宋朝历代帝王简历?宋朝首都在哪里_9
- |人人都在谈“内卷”,而我却发现了职场人破解内卷的3种办法!
- 节食减肥|全都在夸她,究竟是因为什么
- 宋朝历代帝王简历?宋朝首都在哪里_7
- 各种红茶图片
- 阿里巴巴|阿里巴巴在俄业务裁员40%:部分人自愿离职
- 呼吸减肥法怎么做?
- 顶级红茶特征,云南滇池红茶
- 红茶的产地图片
