我有一个奇怪的例子。
每当我的同事执行这一行时:
显示奴隶状态;
从他们的MySQL客户端,它工作顺利。 但是如果我这样做,它说:
错误1227(42000):访问被拒绝; 您需要SUPER,REPLICATION CLIENT权限执行此操作
我们都在反对相同的数据库,如果我检查特权,我可以看到:
授予所有特权。 TO'usermysql'@'%'IDENTIFIED BY PASSWORD'password'
我的电脑有问题..但我不能确定它在哪里..
谢谢
编辑:
这有点奇怪..它远程通过VPN。 但是,如果我改变了互联网连接,那么它的工作原理..如果以前的互联网连接恢复,它不..
我们可以把这个分类在世界的奥秘之中吗? 或者有人有一个想法?
MySQL区分本地主机和“其他”系统。
GRANT ALL PRIVILEGES ON . TO 'usermysql'@'%' IDENTIFIED BY PASSWORD 'password'
给予“他人”的访问权限。 为了让数据库运行的系统能够访问,您还需要将权限授予localhost:
GRANT ALL PRIVILEGES ON . TO 'usermysql'@'localhost' IDENTIFIED BY PASSWORD 'password'
你可以通过授予SUPER特权给你的用户来解决这个问题。
SUPER只能分配全局和全局权限在mysql.user中
要确定为什么这不适用于您的同事,您需要比较用户和用户的授权。
mysql > use mysql; mysql >select User,Host,Super_priv,Repl_client_priv from user;
看看你和你的同事是否有所不同。
GRANT RELOAD, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%'
复制客户端