[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 導出基線)。SHOW SLAVE STATUS\G 中 Last_IO_Error、Last_SQL_Error。