2015年12月9日 星期三

MySQL 5.6 複寫架構 重複的 Server_UUID

前幾天在實作 MySQL 的複寫架構的時候在 MySQL Slave 啟動的時候出現錯誤訊息

Last_IO_Error: 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

 

針對上方的訊息得知 UUID 重複於網路內,接下來就一一檢查



 

檢查複寫 server_id

這個設定值位於 /etc/my.cnf,實際可以進入 mysql 執行指令查詢目前所使用的 server_id
mysql> show variables like 'server_id'; 

Variable_name: server_id
Value: 1

master、slave 確定沒有重複後

 

 

檢查 auto.conf
$ vim /var/lib/mysql/auto.conf 

[auto]
server-uuid=ccc69a92-9419-11e5-9344-001c420b1b11

auto.conf 是於 MySQL 5.6 新增的 server_uuid 在重新啟動後會自動建立 auto.conf,最後發現 master、slave 兩台的 auto.conf 是一樣的

 

原因是因為在實作複寫機制的時候偷懶直接將 Master clone 虛擬機一份成 Slave 所以連裡面的資料都複製了!

如果你是直接複製 /var/lib/mysql 到 Slave 也會有相同的問題

解決的方式就是將 auto.conf 移除在重新啟動一次!
$ rm /var/lib/mysql/auto.conf 
$ service mysqld restart

 

 

Orignal From: MySQL 5.6 複寫架構 重複的 Server_UUID

沒有留言:

張貼留言