MySQL 5.6 UUID 複製資料到 Slave Server

mysql_logo

MySQL Performance Blog 看到這篇 Beware of MySQL 5.6 server UUID when cloning slaves,裡面提到如果是要複製資料到 Slave 機器,大部分的使用者肯定是將 /var/lib/mysql 目錄整個 copy 到 Slave 機器上。如果是 MySQL 5.6 Server 目錄內會有 auto.cnf 設定檔,這是 MySQL 5.6 新的功能叫做 server_uuid,在啟動 MySQL 後,就會自動建立 auto.cnf 檔案,此檔案就像是 my.cnfmy.ini 設定檔一樣,只是內容只有支援 [auto] 並且只有支援 server_uuid 這 key 值,例如

[auto]
server_uuid=8a94f357-aab4-11df-86ab-c80aa9429562

注意的是此檔案是系統自動建立,請勿自行修改內容。如果將 /var/lib/mysql 複製到其他機器,就會出現 server uuid 衝突,所以請務必小心,複製到新的伺服器後,請把 auto.cnf 移除,讓系統重新建立新的 uuid,如果是用 Percona XtraBackup 就不會出現此問題。


See also