我有一个有点奇怪的情况。
每当我的一个同事执行这行代码时:
显示从属状态;
从他们的 MySQL 客户端,它运行顺利。但如果我这样做,它会说:
错误 1227 (42000):访问被拒绝;您需要 SUPER,REPLICATION CLIENT 权限才能执行此操作
我们都针对同一个数据库,如果我检查权限,我可以看到:
授予所有权限。至'usermysql'@'%',由密码'password'标识
我的电脑出了问题...但我无法确定问题出在哪里...
谢谢
编辑:
这有点奇怪……它远程通过 VPN。但如果我更改互联网连接,它就会起作用……如果恢复之前的互联网连接,它就不会起作用……
我们能把这归类为世界之谜吗?或者有人有想法吗?
答案1
GRANT RELOAD, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%'
复制客户端
答案2
MySQL 区分本地主机和“其他”系统。
GRANT ALL PRIVILEGES ON . TO 'usermysql'@'%' IDENTIFIED BY PASSWORD 'password'
授予“其他”访问权限。要授予数据库正在运行的系统访问权限,您还需要授予 localhost 权限:
GRANT ALL PRIVILEGES ON . TO 'usermysql'@'localhost' IDENTIFIED BY PASSWORD 'password'
答案3
您可以通过向用户授予 SUPER 权限来解决此问题。
SUPER 只能全局分配,全局权限在 mysql.user 中
要确定为什么这对您的同事不起作用,您需要比较您的用户和他们的用户的授权。
mysql > use mysql;
mysql >select User,Host,Super_priv,Repl_client_priv from user;
看看你和你的同事之间是否存在差异。