GTID做mysql主從時報錯
阿新 • • 發佈:2018-11-03
今天在做主從同步時,顯示slave_IO執行緒為NO ,並且報如下錯誤
Slave_IO_Running: No ... 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重複,因為我做實驗的時候是在一臺機器上安裝了mysql,然後克隆了三臺機器,所以四臺機器的UUID重複,那麼我們要怎麼修改MYSQL server UUID呢?
首先,我們可以通過如下命令檢視機器的UUID
mysql> select @@server_uuid; +-----------------------------------------------+ | @@server_uuid | +-----------------------------------------------+ | 0d89fdbc-df2a-11e8-9f80-000c296b4958 | +-----------------------------------------------+ 1 row in set (0.00 sec)
如果發現有機器的UUID重複,那麼我們首先可以通過如下的命令生成一個新的UUID,然後去修改配置檔案
mysql> select uuid(); +--------------------------------------+ | uuid() | +--------------------------------------+ | 09bcda8f-df2d-11e8-9aeb-000c296b4958 | +--------------------------------------+ 1 row in set (0.00 sec)
複製UUID ,然後在MYSQL資料目錄的資料目錄中找到auto.cnf檔案,將裡面的UUID換成之前生成的UUID,並且重複MySQL服務,即可完成同步。如果忘記資料目錄的位置,也可以在資料庫中通過如下命令檢視。
mysql> show variables like 'datadir'; +---------------+--------------+ | Variable_name | Value | +---------------+--------------+ | datadir | /data/mysql/ | +---------------+--------------+ 1 row in set (0.03 sec)
希望能幫助到大家。如有任何疑問或者指正,也歡迎留言評論。