mysql用户授权报错_mysql用户授权报错:1045 Access denied for user 'amp'@'%' (using password: YES)...

用户amp登录后,给用户test授权,命令如下:

grant all on *.* to 'test'@'%' with grant option;

报错如下:

1 queries executed, 0 success, 1 errors, 0 warnings

查询:grant all on *.* to 'test'@'%' with grant option

错误代码: 1045

Access denied for user 'amp'@'%' (using password: YES)

执行耗时   : 0 sec

传送时间   : 0 sec

总耗时      : 0.003 sec

查找问题,发现用root用户登录后,给test授权就能OK,为什么呢?于是查看root,amp两个用户权限区别,分别执行以下两个命令:

SHOW GRANTS FOR amp;

SHOW GRANTS FOR root;

发现root用户权限如下:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `root`@`%` WITH GRANT OPTION

amp用户权限如下:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `amp`@`%`

最后一句DROP ROLE ON *.* TO `amp`@`%` ,注意到没有with grant option。

而with grant option表示权限传递,也就是将权限传递给第三方(其它用户)

找到原因就好办,解决办法是:

root用户登录,重新给amp用授权,命令如下:

grant all on *.* to 'amp'@'%' with grant option

然后,amp用户登录后,重新执行以下命令:

grant all on *.* to 'test'@'%' with grant option;

解决OK

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值