標籤:複製 replication mysql faq
os: redhat as4
master: MySQL 4.0.23
slave : MySQL 5.0.37
slave日誌中報錯資訊如下:
060807 11:40:17 [ERROR] While trying to obtain the list of
slaves from the master ‘xxx.xxx.xxx:3306‘, user ‘rep‘ got the
following error: ‘Access denied. You need the REPLICATION SLAVE
privilege for this operation‘
在master上,執行以下語句查看許可權:
mysql>SHOW GRANT FOR ‘rep‘@‘192.168.0.2‘\G
*************************** 1. row ***************************
Grants for [email protected]: GRANT SELECT, REPLICATION SLAVE ON
*.* TO ‘rep‘@‘192.168.0.2‘ IDENTIFIED BY PASSWORD ‘xxx‘
已經授予了 REPLICAION SLAVE 許可權了,怎麼還會報這個錯呢?
通過查看手冊和源碼,才知道slave需要執行一個語句來更新slave列表:
SHOW SLAVE HOSTS;
而執行這個語句則需要 REPLICAION CLIENT 許可權,因此才會報錯。因此,只要重新給 ‘rep‘ 帳號加上 REPLICAION CLIENT 許可權就可以了。
另外,在 MySQL 4.0/4.1 等老版本中似乎不存在這樣的問題,因為在這些版本中 REPLICAION CLIENT 許可權沒有被用到。
--------------------------------------分割線--------------------------------------
知數堂 (http://zhishuedu.com)培訓是由資深MySQL專家葉金榮、吳炳錫聯合推出的專業優質培訓品牌,主要有MySQL DBA實戰最佳化和Python營運開發課程,是業內最有良心、最有品質的培訓課程。
本文出自 “老葉茶館” 部落格,請務必保留此出處http://imysql.blog.51cto.com/1540006/1879708
解決MySQL Replication出錯一例