MySQL主從同步是實現高可用性的關鍵技術之一。但是,由于網絡問題等原因,主從同步可能會出現數據不一致的情況,這就需要進行主從重新同步。
STOP SLAVE; # 停止從服務器的復制進程 SHOW SLAVE STATUS\G; # 查詢從服務器狀態(tài),記錄下Master_Log_File和Read_Master_Log_Pos RESET SLAVE; # 重置從服務器數據
接下來需要在主服務器上執(zhí)行以下語句:
FLUSH TABLES WITH READ LOCK; # 鎖定所有表,防止數據繼續(xù)變化 SHOW MASTER STATUS\G; # 查詢主服務器狀態(tài),記錄下File和Position UNLOCK TABLES; # 解鎖表
然后在從服務器上執(zhí)行以下語句進行重新同步:
CHANGE MASTER TO MASTER_HOST='Master的IP地址', MASTER_USER='主服務器的用戶名', MASTER_PASSWORD='主服務器用戶的密碼', MASTER_LOG_FILE='之前記錄的Master_Log_File', MASTER_LOG_POS=之前記錄的Read_Master_Log_Pos'; START SLAVE; # 啟動從服務器復制進程
這樣,主從重新同步就完成了。