MySQL复制应用权限问题及解决方法

栏目:技术文章 发布时间:2026-04-10 09:25
在MySQL复制环境中,若出现执行SHOW SLAVE HOSTS时报错,可能是未正确授权REPLICATION CLIENT权限。文章解析了错误原因,指出需为rep账号添加该权限以解决问题,同时对比了不同版本间的差异,提供了解决思路。

运行环境:

os: redhat as4

在master上,执行以下语句查看权限:

mysql>SHOW GRANT FOR 'rep'@'192.168.0.2'G

*************************** 1. row ***************************

Grants for rep@192.168.0.2: 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 权限没有被用到。