MySQL 8.0.25从节点自动故障转移测试

该博客介绍了如何使用dbdeployer在MySQL8.0.25中设置主从复制,并实现从节点的自动故障转移。通过创建1个主节点和3个从节点,配置GTID同步,然后模拟主节点故障,展示从节点如何自动切换为主节点的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     从MySQL 8.0.23开始,复制结构中,增加了从节点自动故障转移功能。测试一下起功能:

     用dbdeployer快速安装测试环境,我这边安装的是:dbdeployer1.8.5   

-- 安装脚本
dbdeployer deploy replication 8.0.25 --bind-address=0.0.0.0 --base-port=18610 --sandbox-home=/data1/db/mydb --sandbox-binary=/usr/local  
--native-auth-plugin --db-password="cc.123" --db-user="sa" --remote-access="%"
--post-grants-sql="grant all on *.* to 'sa'@'%' WITH GRANT OPTION " --gtid --nodes=4 ; --删除脚本 dbdeployer delete rsandbox_8_0_25 --sandbox-home=/data1/db/mydb --sandbox-binary=/usr/local;

    安装1主3从库,基于gtid的主从库。

        主库:端口18611;3个从库: 18612,18613,18614

     stop slave,配置自动转移:SOURCE_CONNECTION_AUTO_FAILOVER=1

change master to SOURCE_HOST='127.0.0.1',
  SOURCE_USER='sa',
  SOURCE_PASSWORD='cc.123',
  SOURCE_PORT=18611,
  SOURCE_AUTO_POSITION=1,
SOURCE_CONNECTION_AUTO_FAILOVER = 1

  再start slave,查看主从同步正常后:

      在18613执行:

SELECT asynchronous_connection_failover_add_source('', '127.0.0.1', 18612, '', 100);

    查看结果:

   select * from mysql.replication_asynchronous_connection_failover

    

   表示已经设置完成,如果要删除从节点自动故障转移,可以执行:  

select asynchronous_connection_failover_delete_source('', '127.0.0.1', 18612, '');

   cd到主库目录:执行./stop,模拟主库故障,再看18613的slave status,:

  

      完成了主库故障,从库漂移到指定从库做主库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值