修改hostname导致mysql重启slave失败的修复方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改hostname导致mysql重启slave失败的修复方法相关的知识,希望对你有一定的参考价值。

修改hostname导致mysql重启slave失败的修复方法

(只针对于把slave的信息存在文件里面会出现这种情况,如果存在表里就不会有这种问题发生):

有时候我们很早之前修改完主机名后,跑了好几个月后,突然系统出问题,重启了数据库,发现start slave起不来了。提示找不到relay-log的文件名和位移了。

解决方法:

> show slave status\G 记下目前的执行到的master的binlog的文件名和binlog pos:

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 10.0.21.66

                  Master_User: rpl

                  Master_Port: 3306

              Master_Log_File: mysql-bin.000308

          Exec_Master_Log_Pos: 169761782


然后执行:

> reset slave all; 


重新执行change master:

> CHANGE MASTER TO

MASTER_HOST=‘10.0.21.66‘, 

MASTER_USER=‘rpl‘,

MASTER_PASSWORD=‘rpl‘,

MASTER_PORT=3306,

MASTER_LOG_FILE=‘mysql-bin.000308‘,

MASTER_LOG_POS=169761782;


启动slave:

> start slave;

> show slave status\G 




#### 要避免这种情况的发生,我们只要在配置从库之前,在my.cnf里面配置上

master_info_repository = TABLE

relay_log_info_repository = TABLE

relay_log_recovery = 1

重启数据库,然后再配置change master即可。


本文出自 “菜鸡” 博客,请务必保留此出处http://lee90.blog.51cto.com/10414478/1932684

以上是关于修改hostname导致mysql重启slave失败的修复方法的主要内容,如果未能解决你的问题,请参考以下文章

mysql 修改全局变量让重启也生效

Linux下不重启永久修改hostname

mysql的slave报1236的话如何自动修复呢

CDH5集群搭建

linux修改hostname

Mysql在master上查看有哪些slave