LAMP架构之7——MySQL-Router(读写分离层)

目录

一、mysql路由器——读写分离层

1、安装Mysql Router 

2、 更改配置

 3、启动mysqlrouter服务

4、在服务器中授权(三台mysql服务器随便哪组都可以)

5、在客户端测试

 6、在服务器上检查

7、在客户端更换端口再次测试


一、mysql路由器——读写分离层

1、安装Mysql Router 

安装包名称为< mysql-router-community-8.0.21-1.el7.x86_64.rpm >,安装完成后进入到</etc/mysqlrouter>目录下更改配置文件。

2、 更改配置<vim /etc/mysqlrouter/mysqlrouter.conf >

[routing:ro]
bind_address = 0.0.0.0
bind_port = 7001
destinations = 172.25.254.1:3306,172.25.254.2:3306,172.25.254.3:3306
routing_strategy = round-robin
#表示读数据时通过7001端口,从这三个节点中循环读取进行均衡


[routing:rw]
bind_address = 0.0.0.0
bind_port = 7002
destinations = 172.25.254.3:3306,172.25.254.2:3306,172.25.254.1:3306
routing_strategy = first-available
#表示写入数据时通过7002端口,从三个节点中顺序写入(只有当前一个挂了才会启用第二个)

 3、启动mysqlrouter服务

systemctl start mysqlrouter.service

启动后,可以看到新开了两个端口7001和7002

4、在服务器中授权(三台mysql服务器随便哪组都可以)

grant all on test.* to zzh@'%' identified by 'westos';    #添加授权并设置密码
flush privileges;                    #刷新授权表
    

5、在客户端测试

在客户端中安装mysql的用户端软件<mariadb>,安装完成后可以直接使用。

dnf install mariadb.x86_64 -y            #安装mysql的客户端软件

mysql -h 172.25.254.4 -P 7001 -u zzh -p test     #用上一步设置的密码登录数据库

通过7001端口登录,由于在上一步中只给了表“test”的授权,所以客户端只能看到该表的内容。

 6、在服务器上检查

先安装lsof软件,用来查看端口信息。

可以看到,上一步中客户端访问数据库,通过循环调度算法调度在了server1中。

yum install -y lsof            #安装端口查看软件lsof
lsof -i :3306                  #检查3306端口的使用情况

客户端退出数据库重新登录一次,调度算法调度到了server2中。

7、在客户端更换端口再次测试

由于7002端口采用的顺序调度策略,所以会按照mysql router中配置的进行调度。所以会调度到server3中。只有当server3坏掉后,才会按顺序调度到server2等等。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值