我希望有多个 MySQL用户能够发出像这样的命令
CREATE DATABASE dbTest;
Run Code Online (Sandbox Code Playgroud)
但我也希望这些用户中的每一个都能够只查看和访问他们自己的数据库.
我所能找到的只是如何通过DBA创建数据库并将此数据库的权限授予特定用户:
GRANT ALL PRIVILEGES ON dbTest.* TO 'user';
Run Code Online (Sandbox Code Playgroud)
或者将所有数据库的权限授予用户:
GRANT ALL PRIVILEGES ON *.* TO 'user';
Run Code Online (Sandbox Code Playgroud)
但这也不是我想要的,因为它需要扩展和安全.
rae*_*kid 78
您可以使用
GRANT ALL PRIVILEGES ON `testuser\_%` . * TO 'testuser'@'%';
Run Code Online (Sandbox Code Playgroud)
testuser在名称以...开头的所有数据库上授予用户权限testuser_.
这允许testuser创建限于以testuser_开头的名称的数据库
小智 23
您可以使用
GRANT ALL PRIVILEGES ON `testuser_%` . * TO 'testuser'@'%';
Run Code Online (Sandbox Code Playgroud)
testuser在名称以...开头的所有数据库上授予用户权限testuser_.
编辑:我不确定现在是否也允许此用户创建数据库.
是的,这允许testuser创建仅限于以.开头的名称的数据库testuser_
Jan*_*cki 14
创建由admin用户定义的存储过程,并使用SQL SECURITY DEFINER以admin用户权限调用.在存储过程中,
使用USER()获取当前用户登录详细信息.
了解有关SQL SECURITY DEFINER的更多信息.
| 归档时间: |
|
| 查看次数: |
48181 次 |
| 最近记录: |