首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 主從同步報 Last_IO_Error 1236 解決:Flush Logs + 重新定位 Binlog 位點

     編輯:MySQL 綜合教學

錯誤訊息

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'

常見於 Master 清理/輪轉 Binlog 導致 Slave 找不到對應位點。

標準修復流程

  1. Slave 停止同步:STOP SLAVE;
  2. Master 刷新日誌:FLUSH LOGS;(產生新 Binlog 檔)
  3. Master 查看新位點:SHOW MASTER STATUS; 記錄 File、Position
  4. Slave 重新定位:
CHANGE MASTER TO
  MASTER_LOG_FILE='mysql-bin.000004',
  MASTER_LOG_POS=106;
  1. Slave 啟動同步:START SLAVE;

主從架構完整配置範例(Windows)

Master (192.168.0.17) my.ini

[mysqld]
server-id = 111
log-bin = mysql-bin
binlog-do-db = a111cnnet
binlog-ignore-db = mysql

建立同步帳號

GRANT FILE, REPLICATION SLAVE, REPLICATION CLIENT, SUPER ON *.*
TO 'backup2'@'192.168.0.119' IDENTIFIED BY 'backup2';

Slave (192.168.0.119) my.ini

[mysqld]
server-id = 112
master-host = 192.168.0.17
master-user = backup2
master-password = backup2
master-connect-retry = 60
replicate-do-db = a111cnnet
replicate-ignore-db = mysql

驗證

SHOW SLAVE STATUS\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

避坑提醒

  • Slave 版本 ≥ Master 版本,相容性更好。
  • 若同步異常,刪除 master.info 重試。
  • 生產環境建議啟用 GTID(MySQL 5.6+),避免位點管理痛苦。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved