mysqlroute8.0.24配置和使用

mysqlroute配置和使用


mysqlroute配置读写分离及故障转移(HA)

  • mysqlroute配置和使用
  • 前言
  • 一、部署mysqlroute
  • 二、启动并验证
  • 三、客户端现象
  • 总结


前言


1、MySQL Router是处于应用client和dbserver之间的轻量级代理程序,它能检测,分析和转发查询到后端数据库实例,并把结果返回给client。是mysql-proxy的一个替代品。
2、从数据库服务器故障,业务可以正常运行。由MySQL Router来进行自动下线不可用服务器。程序配置不需要任何修改。
3、主数据库故障,由MySQL Router来决定主从自动切换,业务可以正常访问。程序配置不需要做任何修改。
4、MySQL Router接受前端应用程序请求后,根据不同的端口来区分读写,把连接读写端口的所有查询发往主库,把连接只读端口的select查询以轮询方式发往多个从库,从而实现读写分离的目的。读写返回的结果会交给MySQL Router,由MySQL Router返回给客户端的应用程序。
5、MySQL Router的主要用途是读写分离,主主故障自动切换,负载均衡,连接池等。
6、Mysql router主主故障切换功能经过测试没有问题,但是有一个比较大的坑需要注意Mysql router的主主故障切换如果是运行在一主一从的情况下,从库作为主库的备份,这种情况是使用mysql router主主故障切换是没有问题的,但是在一主多从的情况下使用主主故障切换就会处在如下问题:mysql主库挂掉了,从库slave01和slave02却一直是同步的原来的主库master的IP地址,导致slave上的IO线程一直是connecting状态,导致slave02复制失败。


一、部署mysqlroute

解压
[root@shigj data]# tar -zxvf mysql-router-8.0.24-el7-x86_64.tar.gz 
mysql-router-8.0.24-el7-x86_64/lib/private/libcrypto.so
重命名
mysqroot@shigj data]# mv mysql-router-8.0.24-el7-x86_64 mysql-router-8.0.24
[root@shigj mysql-router-8.0.24]# mkdir conf
[root@shigj mysql-router-8.0.24]# cd conf/
[root@shigj conf]# ls
[root@shigj conf]# vim mysqlrouter.cnf
[DEFAULT]
logging_folder = /var/log/mysqlrouter
[logger]
level = INFO
# 主节点故障转移配置
[routing:failover]
# 写节点地址
bind_address = 192.168.10.28
#mysql默认的写端口
bind_port = 7001
#最大链接数
max_connections = 1024
#读写模式
mode = read-write
#默认情况下第一台主数据库为写主库,当第一台主数据库DOWN机后,第二台数据库被提升为主库
destinations = 192.168.10.26:3306
#从节点负载均衡配置
[routing:balancing]
bind_address = 192.168.10.28
bind_port = 7002
max_connections = 1024
mode = read-only
destinations = 192.168.10.27:3306

二、启动并验证

验证配置是否成功
[root@shigj conf]# mysqlrouter -V
MySQL Router  Ver 8.0.24 for Linux on x86_64 (MySQL Community - GPL)
添加环境变量
[root@shigj conf]# echo "export PATH=$PATH:/data/mysql-router-8.0.24/bin/" >> /etc/profile
[root@shigj conf]# source /etc/profile
启动
[root@shigj conf]# mysqlrouter -c /data/mysql-router-8.0.24/conf/mysqlrouter.cnf &
查看端口是否启动
[root@shigj ~]# netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      939/sshd            
tcp        0      0 192.168.10.28:7001      0.0.0.0:*               LISTEN      3943/mysqlrouter    
tcp        0      0 192.168.10.28:7002      0.0.0.0:*               LISTEN      3943/mysqlrouter    
tcp6       0      0 :::22                   :::*                    LISTEN      939/sshd  

三、客户端现象

mysqlroute8.0.24配置和使用_第1张图片

总结

本文是针对上一篇文章https://blog.csdn.net/qq_27745471/article/details/121397394?spm=1001.2014.3001.5501mysql主从复制的延续,主要应用是配置负载均衡、读写分离以及高可用的动作配置。

你可能感兴趣的:(数据库,数据库,mysql,服务器)