关于修改mysql从库主机名导致主从同步失败

如果修改了从库的主机名,而从库又忘了做relay-log和relay-log-index的配置,估计会导致从库同步失败。由于公司刚改了主机名,写个博客,后续出问题好进行改进。方案测试通过。

步骤如下:

1: 从库先停止主从复制

    stop slave;

2: 记录下主从同步的信息(主要是以下两个信息)

    show slave status\G

    Master_Log_File: mysql-bin.000085

    Read_Master_Log_Pos: 120

3: 重置数据库

    reset slave;

        --> 在这里,最好设置一个两个参数,预防后续再改主机名

            relay-log = relay-log

            relay-log-index = relay-log.index

4: 如果主库设置给从库的用户名和密码忘记了话,再grant一次(记得就跳过这步了)

    grant replication slave on *.* to 'replication'@'192.168.1.2' identified by 'xxx';

5: 从库设置slave

    change master to master_log_file='mysql-bin.000085',master_log_pos=120,master_user='replication',master_password='xxx', master_host='192.168.1.1';

6: 开启从库

    start slave;

另外,再reset slave后感觉得配置下relay-log和relay-log-index,然后重启下数据。再从第5步开始,这样后续改主机名就不会影响到了。

 

如果是主库没指定bin-log和bin-log-index,那修改主机名后会怎么样,不知道会产生什么样的问题和应对方案该怎么样。暂时方案如下:

    1: 在mysql上找到主的位置,应该是一开始的。位置:4

        show master status\G

        --> 其实这里,如果改了主机名,最好在配置里面指定两个参数(后续改主机就没事了)

            log-bin=master-bin

            log-bin-index = masters-bin.index

    2: 先把从库停止

        stop slave;

    3: 把之前从库的同步信息全部去掉

        reset slave;

    4: 然后指向主的第一个位置开始同步

        change master to master_log_file='master-bin.000001',master_log_pos=4,master_user='replication',master_password='xxx', master_host='192.168.1.1';

    5: 再开启从应该就可以了

        start slave;

 

最后附上本人的网络课堂地址,如有兴趣请点击: 实践哥

转载于:https://my.oschina.net/zhuangweihong/blog/599917

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值