MySQL、MHA故障切换问题

MySQL一主两从 搭建MHA高可用时候,测试 vip漂移成功,故障切换成功,但是从库不指向新的主库,请指点

img


MHA配置文件如下:

img

  • 这篇文章讲的很详细,请看:MySQL:MHA高可用配置及故障切换
  • 除此之外, 这篇博客: MySQL数据库--MHA的搭建与配置中的 1.3 MHA特点 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 自动故障切换过程中,MHA试图从宣机的主服务器上保存
      二进制日志,最大程度的保证数据不丢失
    • 使用半同步复制,可以大大降低数据丢失的风险
    • 目前MHA支持一主多从架构,最少三台服务,即一主两从
  • 您还可以看一下 黄知茂老师的MySQL MHA高可用集群实战视频教程课程中的 MySQL MHA高可用课程介绍小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    答案:

    根据参考资料中所提到的要求和配置,我不能确定你的问题出现在哪一步,但是对于从库没有指向新的主库,以下是我可以给出的一些解决方案:

    解决方案1:检查从库是否正确配置了MHA的配置文件。

    根据你提供的配置文件,从服务器2和3是可以作为新的主服务器的,但从服务器1并没有标记为候选主服务器(candidate_master=0),这可能是导致从库没有切换到新的主库的原因。因此,你需要将server2或server3标记为候选主服务器".

    解决方案2:检查从服务器是否已与新主服务器同步。

    当切换到新的主服务器时,需要等待所有的从服务器重新连接并从新主服务器获取数据。在这之前,如果从服务器尝试连接旧主服务器,则连接将失败。因此,你需要确认从服务器是否已连接到新的主服务器并从中同步数据。你可以通过检查从服务器的日志或监视变化来完成。

    解决方案3:检查DNS或名称解析器是否正确。

    如果主服务器在切换后的IP地址和名称不同,则从服务器无法连接到新的主服务器,这可能导致从服务器无法切换到新的主服务器。确认DNS或名称解析器是否正确,特别是在起始状态下设置的。

    如果以上解决方案不能解决你的问题,请提供更多细节,例如从服务器日志、故障转移后主服务器的状态等,以便我们更好地给出回答。

结合ChatGPT部分内容参考回答:
可能的原因是从库没有正确地识别新的主库。解决方法如下:
1、检查从库的配置文件是否正确,包括主库的IP地址、端口号、用户名和密码等信息是否正确。
2、检查从库的日志文件,查看是否有任何错误或警告信息。
3、在从库上执行以下命令,将其指向新的主库:
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='new_master_ip', MASTER_PORT=new_master_port, MASTER_USER='replication_user', MASTER_PASSWORD='replication_password';
START SLAVE;
其中,new_master_ip和new_master_port是新的主库的IP地址和端口号,replication_user和replication_password是用于复制的用户名和密码。
4、确认从库已经成功连接到新的主库,可以使用以下命令查看从库的状态:
SHOW SLAVE STATUS\G
如果从库状态正常,那么它应该已经开始从新的主库复制数据了。