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

若是修改了从库的主机名,而从库又忘了作relay-log和relay-log-index的配置,估计会致使从库同步失败。因为公司刚改了主机名,写个博客,后续出问题好进行改进。方案测试经过。mysql

步骤以下:sql

1: 从库先中止主从复制数据库

    stop slave;网络

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

    show slave status\G测试

    Master_Log_File: mysql-bin.000085get

    Read_Master_Log_Pos: 120同步

3: 重置数据库博客

    reset slave;io

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

            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;

 

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

相关文章
相关标签/搜索