1. 程式人生 > >修改hostname導致mysql重啟slave失敗的修復方法

修改hostname導致mysql重啟slave失敗的修復方法

修改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失敗的修復方法