首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 複寫報錯:master and slave have equal MySQL server ids 解決實錄

     編輯:MySQL 資料庫相關知識

    錯誤現場

    Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids;
    these ids must be different for replication to work

    排查過程

    1. SHOW VARIABLES LIKE 'server_id'; 顯示 1,但 my.cnf 已設 server_id=2 並註釋舊行
    2. 發現 /usr/local/mysql/my.cnf 存在舊配置 (rsync 複製殘留),mysqld 啟動時讀取此檔覆蓋 /etc/my.cnf
    3. 刪除 /usr/local/mysql/my.cnf,重啟服務,server_id 正確為 2
    4. 執行 SET GLOBAL server_id=2; START SLAVE; 臨時修正並啟動複寫

    MySQL 配置檔讀取優先級

    /etc/my.cnf
    /etc/mysql/my.cnf
    /usr/local/mysql/my.cnf      # 易被忽略!
    ~/.my.cnf
    DATADIR/my.cnf

    排查指令: find / -name "my.cnf" 2>/dev/null

    永久修正

    1. 確保所有 my.cnf 中 server_id 唯一且正確
    2. 主庫 server_id=1,從庫 server_id=2 (或更大)
    3. 重啟驗證:SHOW VARIABLES LIKE 'server_id';

    同場加映:server_uuid 衝突

    若錯誤為 equal MySQL server UUIDs,原因是 auto.cnf (含 server-uuid) 被 rsync 複製。
    解決:修改 auto.cnf 中 UUID 最後幾位十六進位數字,重啟。

    1. 上一篇文章:
    2. 下一篇文章:
    Copyright © 程式碼之家 All Rights Reserved