解决MySQL Replication出错一例_MySQL
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 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 权限没有被用到
上一篇: 结合使用PHP和RSS
下一篇: php下过滤HTML代码的函数
推荐阅读
-
mysql8.0.11客户端无法登陆的解决方法
-
mysql出现Error performing load command的解决方法
-
log引起的mysql不能启动的解决方法
-
mysql启动时出现ERROR 2003 (HY000)问题的解决方法
-
Mysql5.7中使用group concat函数数据被截断的问题完美解决方法
-
mysql5.7.18安装时mysql服务启动失败的解决方法
-
Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法
-
MySQL5.7 sql_mode=only_full_group_by的解决办法
-
Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决
-
php 连接mysql连接被重置的解决方法