mysqlrouter与MHA高可用

发布时间:2026/8/8 10:06:03
mysqlrouter与MHA高可用 一、mysql路由器MySQL Router 是 MySQL 官方中间件配合 MGR 集群实现读写自动路由、主节点故障自动切换对外提供统一访问入口隔离后端集群拓扑1.1安装软件可从mysql官网直接下载合适版本到Windows然后同步到服务器中再使用 rpm 工具本地安装 MySQL Router 8.0.21 软件包CentOS7 系统版本1.2配置服务编辑配置文件cd /etc/mysqlrouter/vimmysqlrouter.conf配置解析开放 7001 只读端口轮询分发读流量开放 7002 读写端口固定选用第一个可用节点处理读写请求可以自己选择顺序启动服务systemctl enable --now mysqlrouter.service在该节点上同步集群节点上的mysql服务在mysql集群中创建远程测试用户连接mysql路由器然后在server1上查看网络链接测试7002端口在自己设置的第一个端口上查看网络连接二、InnoDB Cluster接入 InnoDB Cluster 元数据模式metadata_cache让 MySQL Router 自动感知集群拓扑不再使用静态节点列表。2.1配置mgr 单主模式关闭所有mysqld节点修改参数后重新启动组复制在配置文件中做修改打开单主模式重新启动组复制server1server2server32.2mysql shell首先安装软件包yum install -y mysql-shell-8.0.46-1.el7.x86_64.rpm在primary节点创建集群管理员单主模式只有primary节点能够写入数据在server4mysql router通过 MySQL Shellmysqlsh 使用集群管理员账号 icadmin 连接 MGR 集群节点 192.168.11.150primary 的 3306 端口用来管理 InnoDB Cluster (MGR 集群)。接管现有mgr集群查看状态2.3mysql router自动生成配置用mysqlrouter使用icadmin去连接我们任意一个集群节点都可以获知我们整个集群的状态它自动为我们创建了两套主从的配置其中MYSQL X protocol几乎不怎么使用然后它会自动生成mysqlrouter的配置我们所使用的只有这两个重启服务并查看这两个端口是否激活再次连接路由器改为6446端口读写mysql -h 192.168.11.153 -P 6446 -u wxh -pwestos在server1上实时查看状态watch lsof -i 3306连接6447端口只读查看状态停掉server1primary上的组复制进到其他的节点集群已经把server1踢出了自动把server3生成了primary还是可以继续访问因为之前连接的是server1再次连接时中断了它会帮你连接到server3上此时我们再次启动server1它也会自动连接进入集群它的角色也会自己变为SECONDARY此时再访问6447端口也会自动连接mysql router的调度自动生效它会自动感知集群后端的角色变化哪个节点坏了哪个节点失效了它并不会影响我们的调度系统三、mysql MHA高可用3.1创建一主两从集群首先停掉mysqlrouter和各个节点的MySQL数据库master配置在server1上进入到mysql数据目录/data/mysql将数据文件全部删除清空然后编辑主配置文件删掉多余的内容后保存退出修改完成之后要做初始化mysqld --defaults-file/etc/mysql/my.cnf --initialize初始化完成之后进入mysql修改密码并创建用户再授权salve配置删除数据文件后修改主配置文件进入mysql后修改密码和用户并启动slave查看状态没有报错即可server3的配置与server2一致注意修改server_id测试master在master上创建数据库并启用向里面写入数据在slave端查看slave3.2MHA部署首先在server4上安装管理端软件yum install mha4mysql-manager-0.58-0.el7.centos.noarch.rpm mha4mysql-node-0.58-0.el7.centos.noarch.rpm在管理端配置免密服务把密钥复制到各节点scp -r .ssh/ server1:scp -r .ssh/ server2:scp -r .ssh/ server3:复制客户端软件到各个节点scp mha4mysql-node-0.58-0.el7.centos.noarch.rpm server1:scp mha4mysql-node-0.58-0.el7.centos.noarch.rpm server2:scp mha4mysql-node-0.58-0.el7.centos.noarch.rpm server3:在server1、server2、server3上安装客户端软件yum install -y mha4mysql-node-0.58-0.el7.centos.noarch.rpmMHA配置先创建目录mkdir /etc/masterha编辑主配置文件让server1和server2能够做主从切换server3作为备机在master上设置mysql 管理员权限slave节点会自动同步测试检测各节点ssh免密连接masterha_check_ssh --conf/etc/masterha/app1.cnf检测主从复制集群状态masterha_check_repl --conf/etc/masterha/app1.cnf

相关新闻