我想向每个主机的用户授予选择权限,但出现错误,您不允许创建用户
mysql>GRANT SELECT ON *.* TO 'alice'@'%' WITH GRANT OPTION;
ERROR 1410 (42000): 不允许您使用 GRANT 创建用户
我不想创建新用户,因为我使用了命令 CREATE USER
我尝试创建一个新用户,但授予命令也失败。
在这个 MySql 版本(8 及以上)中,一个好主意(也是一个好实践)是配置 ROLES,然后为其设置用户,就像这篇好文章(阅读它,非常好!)。
您可以将您的角色设置给许多用户。
像这样的东西:
1 - 创建角色:
create ROLE name_of_your_role;
Run Code Online (Sandbox Code Playgroud)
2 - 为 ROLE 设置必要的权限,并记住,在此 MySql 版本中,您不需要 Flush Privileges。示例(根据您的需要,将 mydatabase 表达式更改为您的数据库名称或通配符):
grant alter,create,delete,drop,index,insert,select,update,trigger,alter
routine,create routine, execute, create temporary tables
on mydatabase.* to 'name_of_your_role';
Run Code Online (Sandbox Code Playgroud)
3 - 为您的用户授予角色:
grant 'name_of_your_role' to 'alice';
Run Code Online (Sandbox Code Playgroud)
4 - 将此角色设置为您的用户的默认角色:
set default role 'name_of_your_role' to 'alice';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6123 次 |
| 最近记录: |