如何使用 GCP 的新托管 MySQL 8.0 撤消和授予用户权限



一周前,我用MySQL 5.7制作了一个测试MySQL服务器并应用了权限,但在尝试新的8.0版本时,我似乎无法轻松更改权限。我是以root用户身份远程登录的,但本地云shell实例也会这样做。

我试图创建一个只能访问一个数据库的新用户,但我似乎无法通过首先撤销所有默认权限的部分。

我的方法:

CREATE USER 'test_user'@'%' IDENTIFIED BY '{password}';

没有错误。(我也尝试过通过GCP的管理面板创建一个用户(

SHOW GRANTS FOR 'test_user'@'%';返回GRANT USAGE ON *.* TO `test_user`@`%`(我认为这意味着新用户拥有完全权限?(

然后,尝试删除所有权限以重新启动用户

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'test_user'@'%';

显示:

Error: UNKNOWN_CODE_PLEASE_REPORT: Access denied for AuthId `root`@`%` to database 'mysql'.

我是Mysql的新手,所以我不确定这是我的错还是只是一个bug。非常感谢。

首先,我想指出GRANT USAGE ON *.* TO test_user@%的意思是相反的,它意味着用户没有特权!(更多信息:Mysql参考(

其次,我认为这就是导致错误的原因是ALL PRIVILEGES关键字,它可能在v8.0中被删除了,所以只需在用户创建后直接向他授予您想要的表/数据库权限。

相关内容

  • 没有找到相关文章

最新更新