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

MySQL 複寫報錯:master and slave have equal MySQL server UUIDs 解決方案

     編輯:MySQL 資料庫相關知識

    錯誤訊息

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

    根因

    使用 rsync 整個 datadir 部署從庫,導致 auto.cnf (內含 server-uuid) 被一併複製。MySQL 5.6+ 要求每個實例 UUID 全域唯一。

    檢查確認

    mysql> SHOW VARIABLES LIKE 'server_id';  -- 確認 server_id 已不同
    mysql> SHOW VARIABLES LIKE 'server_uuid';  -- 顯示相同 UUID

    修復步驟

    1. 停止從庫:systemctl stop mysqld
    2. 編輯 datadir/auto.cnf:
      [auto]
      server-uuid=6dcee5be-8cdb-11e2-9408-90e2ba2e2ea6 → 修改最後幾位十六進位 (如 ...2ea7)
    3. 啟動從庫:systemctl start mysqld
    4. 驗證:SHOW VARIABLES LIKE 'server_uuid'; 顯示新值,START SLAVE; 正常

    最佳實踐:部署從庫標準流程

    1. 不複製 auto.cnf:rsync -av --exclude=auto.cnf /source/datadir/ /target/datadir/
    2. 或使用 mysqld --initialize 讓新實例自動生成 UUID
    3. 克隆/快照部署時,啟動前**必須**刪除/修改 auto.cnf
    1. 上一篇文章:
    2. 下一篇文章:
    Copyright © 程式碼之家 All Rights Reserved