打開MySQL錯誤日志, 假設日志地址在 /usr/local/mysql/var/localhost.localdomain.pid 打開文档, 發現有以下一行錯誤報出來:
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'
在MySQL控制台下面輸入以下命令, 發覺Slave_IO_Running: No
SHOW SLAVE STATUS\G
一方面原因是因爲網路通信的問題, 也有可能是日志讀取錯誤的問題;
另一方面原因是在slave服務器進行了寫操作, 改了東西。怎麽辦!
解決辦法:
從機器停止slave
mysql> slave stop;
到master機器登錄mysql:
記錄master的bin的位置,例如:
mysql> show mster status; +-------------------+----------+--------------+-------------------------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +-------------------+----------+--------------+-------------------------------------------+ | mysqld-bin.000010 | 106 | | information_schema,mysql | +-------------------+----------+--------------+-------------------------------------------+
日志爲mysqld-bin.000010
刷新日志(不一定需要):
mysql> flush logs;
因爲刷新日志file的位置會+1,即File變成爲:mysqld-bin.000011
馬上到slave執行
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysqld-bin.000011',MASTER_LOG_POS=106; mysql> slave start; mysql> show slave status\G;