首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 主從複制賬戶密碼變更與切換操作實戰

     編輯:MySQL 綜合教學

場景

生產環境需修改複制用戶密碼(如密碼洩露、統一賬戶),操作不當易導致主從不一致。本文演示密碼修改、賬戶切換全流程,基於 MySQL 5.6.12、同機雙實例(主 3406 / 從 3506)。

一、修改複制賬戶密碼

  1. 主庫執行:
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.177' IDENTIFIED BY 'replpwd';
  1. 主庫驗證 SELECT user,host,password FROM mysql.user WHERE user='repl'; 密碼已更新。
  2. 主庫寫入測試數據,從庫同步正常。
  3. 從庫執行 STOP SLAVE; 停止複制。
  4. 從庫更新連接密碼(寫入 master.info):
CHANGE MASTER TO MASTER_USER='repl', MASTER_PASSWORD='replpwd';
  1. 從庫 START SLAVE;,檢查 SHOW SLAVE STATUS\G 狀態恢復正常。

二、更換複制賬戶(含密碼)

  1. 主庫建立新賬戶:
GRANT REPLICATION SLAVE ON *.* TO 'repl2'@'192.168.1.177' IDENTIFIED BY 'Repl2';
  1. 從庫 STOP SLAVE;。
  2. 主庫寫入新數據(驗證舊賬戶停用後新數據仍可同步)。
  3. 從庫切換賬戶:
CHANGE MASTER TO MASTER_USER='repl2', MASTER_PASSWORD='Repl2';
  1. 從庫 START SLAVE;,驗證新數據同步成功。

三、CHANGE MASTER 關鍵說明

  • 僅修改密碼時,只需指定 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 後執行,避免複制線程嘗試用舊密碼連接導致報錯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved