生產環境需修改複制用戶密碼(如密碼洩露、統一賬戶),操作不當易導致主從不一致。本文演示密碼修改、賬戶切換全流程,基於 MySQL 5.6.12、同機雙實例(主 3406 / 從 3506)。
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.177' IDENTIFIED BY 'replpwd';
SELECT user,host,password FROM mysql.user WHERE user='repl'; 密碼已更新。STOP SLAVE; 停止複制。master.info):CHANGE MASTER TO MASTER_USER='repl', MASTER_PASSWORD='replpwd';
START SLAVE;,檢查 SHOW SLAVE STATUS\G 狀態恢復正常。GRANT REPLICATION SLAVE ON *.* TO 'repl2'@'192.168.1.177' IDENTIFIED BY 'Repl2';
STOP SLAVE;。CHANGE MASTER TO MASTER_USER='repl2', MASTER_PASSWORD='Repl2';
START SLAVE;,驗證新數據同步成功。MASTER_PASSWORD,其他參數保持不變。MASTER_HOST 或 MASTER_PORT,MySQL 視為主庫已變更,會重置 MASTER_LOG_FILE、MASTER_LOG_POS,除非顯式指定。MASTER_HOST=''(空字符串)在 5.5+ 會報錯,不可用於清除主庫信息。STOP SLAVE;
CHANGE MASTER TO MASTER_PASSWORD='new_password';
START SLAVE;
務必在 STOP SLAVE 後執行,避免複制線程嘗試用舊密碼連接導致報錯。