mysql - 让 MySQL 用户创建数据库,但只允许访问他们自己的数据库

我希望有 多个 MySQL 用户能够发出类似

的命令
CREATE DATABASE dbTest;

但我也希望这些用户中的每一个都只能查看和访问他们自己的数据库。

我所能找到的只是如何由 DBA 创建数据库并将该数据库的权限授予特定用户:

GRANT ALL PRIVILEGES ON dbTest.* TO 'user';

或将所有数据库的权限授予用户:

GRANT ALL PRIVILEGES ON *.* TO 'user';

但这两者都不是我想要的,因为它需要可扩展且安全。

最佳答案

你可以使用

GRANT ALL PRIVILEGES ON `testuser\_%` .  * TO 'testuser'@'%';

授予用户 testuser 对所有名称以 testuser_ 开头的数据库的权限。

这允许 testuser 创建仅限于以 testuser_ 开头的名称的数据库

https://stackoverflow.com/questions/2950054/

相关文章:

mysql - 如何从 windows 命令提示符连接到 mysql 命令行

mysql - 如何在 MySQL 中调度存储过程

mysql - 从 MYSQL 查询中计算列的平均值

mysql - 如何使用 MySQL GUI 工具使字段为 NULL?

mysql - 将 MySQL SELECT 中的日期格式化为 ISO 8601

mysql - 如何选择几个硬编码的 SQL 行?

mysql - 获取最后一组不同的记录

java - Hibernate JPA、MySQL 和 TinyInt(1) 用于 boolean

sql - MySQL为每一行自动存储日期时间

python - 如何在 Python 中使用列名检索 SQL 结果列值?