mysql route 实现读写分离

master :172.17.0.3
slave :172.17.0.2
router :172.17.0.4

mysql 安装

https://www.cnblogs.com/netsa/p/7088494.html
https://blog.csdn.net/qq_43377292/article/details/86494103

搭建主从

master :
cat /etc/my.cnf
在这里插入图片描述
slave:
cat /etc/my.cnf
在这里插入图片描述
启动MySQL -master
进入后授权用户

grant repication slave,replication client on *.*  to 'mysql'@'172.17.0.2' identified by '123'

slave 测试是否可以远程

mysql -umysql -h 172.17.0.3 -p123

进入master
在这里插入图片描述
进入从服务器

change master to master_host='172.17.0.3',master_port=3306,master_user='mysql',master_password='123',master_log_file='binlog.000002' ,master_log_pos=120;

启动slave
start slave;
查看
在这里插入图片描述
中途出现的问题

Got fatal error 1236 from master when reading data from binary log: ‘Could not find first log file name in binary log index file’

解决方法
flush logs;
刷新后重新获取master 的binlog文件 重新change master
建议:
先看binlog文件的内容 再找思路解决问题
/opt/mysql/bin/mysqlbinlog --base64-output=decode-rows -v /opt/mysql/var/mysql-bin.000001
本人解决的时候将binlog删除了之后重新获取的binlog 成功解决
希望有帮助!!!

读写分离配置

wget http://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-2.0.3-linux-glibc2.12-x86-64bit.tar.gz
解压安装并创建配置文件
在这里插入图片描述
启动

/usr/local/mysql-router/bin/mysqlrouter &
在这里插入图片描述
测试:
所有mysql服务器授权用户给router服务器权限;
由于为了更好的查看实验效果 , 我停掉了mysql主从,再master和salve上都建立勒测试表

read- only

在这里插入图片描述

write-only

在这里插入图片描述
因为route服务器上面没有mysql服务 所以测试的时候再mysql服务器上面测试

mysql -h 172.17.0.4 -p123 -P 7002 -u router -e "select * from test.t3"

在这里插入图片描述
在这里插入图片描述

mysql -h 172.17.0.4 -p123 -P 7002 -u router -e "select * from test.t3"

在这里插入图片描述

参照文档

https://blog.csdn.net/u012961566/article/details/70237548

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值