首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL Replication 錯誤排查案例:缺少 REPLICATION CLIENT 權限導致 Slave 連線失敗

     編輯:MySQL 資料庫相關知識

環境與現象

  • OS:Red Hat AS 4
  • Master:MySQL 4.0.23
  • Slave:MySQL 5.0.37
  • Slave 錯誤日誌:
    [ERROR] While trying to obtain the list of slaves from the master 'xxx:3306',
    user 'rep' got: 'Access denied. You need the REPLICATION SLAVE privilege'

權限檢查

mysql> SHOW GRANTS FOR 'rep'@'192.168.0.2'\G
Grants: GRANT SELECT, REPLICATION SLAVE ON *.* TO 'rep'@'192.168.0.2' ...

REPLICATION SLAVE 已授予,為何仍報錯?

根因分析

Slave 啟動時會執行 SHOW SLAVE HOSTS 向 Master 註冊自身,**此指令需要 REPLICATION CLIENT 權限**。

MySQL 4.0/4.1 未使用此權限檢查,5.0+ 強制要求,導致跨版本複寫暴露此問題。

解決方案

GRANT REPLICATION CLIENT ON *.* TO 'rep'@'192.168.0.2';
FLUSH PRIVILEGES;

補充權限後 Slave 即可正常連線並開始同步。

最佳實踐建議

  • 建立複寫帳號時**一次性授予三權**:REPLICATION SLAVE、REPLICATION CLIENT、SELECT(用於 mysqldump --master-data 導出基線)。
  • 跨大版本複寫(4.x → 5.x)前,閱讀釋出說明中「Security/Privilege Changes」章節。
  • 監控腳本定期檢查 SHOW SLAVE STATUS\G 中 Last_IO_Error、Last_SQL_Error。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved