1. 程式人生 > 資料庫 >MySQL主從複製,啟動slave時報錯1872 Slave failed to initialize relay log info structure from the repository

MySQL主從複製,啟動slave時報錯1872 Slave failed to initialize relay log info structure from the repository

症狀:

MySQL主從複製,啟動slave時,出現下面報錯:
mysql> start slave;
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

原因:可能為伺服器啟動後,太長時間連線不到master。

解決辦法:檢視日誌,

 

 


可以看到報錯,原來是找不到./server246-relay-bin.index檔案,找到原因所在了,由於我使用的是冷備份檔案恢復的例項,在mysql庫中的slave_relay_log_info表中依然保留之前relay_log的資訊,所以導致啟動slave報錯。

mysql提供了工具用來刪除記錄:slave reset;
slave reset執行候做了這樣幾件事:
1、刪除slave_master_info ,slave_relay_log_info兩個表中資料;
2、刪除所有relay log檔案,並重新建立新的relay log檔案;
3、不會改變gtid_executed 或者 gtid_purged的值

mysql> reset slave;
Query OK, 0 rows affected (0.01 sec)

mysql> change master to master_host='IP', master_port=3306, master_user='使用者名稱', MASTER_PASSWORD='密碼', master_log_file='mysql-bin.000594', MASTER_LOG_POS=98175332;

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
 

這樣slave 就可以啟動了。

轉自

(2條訊息) MySQL主從複製,啟動slave時報錯Slave failed to initialize relay log info structure from the repository_大聖欲何的部落格-CSDN部落格
https://blog.csdn.net/weixin_37998647/article/details/79950133

【FAQ系列】Relay log 導致複製啟動失敗 - 茁壯的小草 - 部落格園
https://www.cnblogs.com/mysql-dba/p/7201513.html