重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
修改hostname导致mysql重启slave失败的修复方法
成都创新互联网络公司拥有十余年的成都网站开发建设经验,1000多家客户的共同信赖。提供网站设计制作、做网站、网站开发、网站定制、买链接、建网站、网站搭建、自适应网站建设、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务(只针对于把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即可。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。