首页  >  文章  >  数据库  >  如何授予数据库创建权限,同时限制对 MySQL 中特定数据库的访问?

如何授予数据库创建权限,同时限制对 MySQL 中特定数据库的访问?

Patricia Arquette
Patricia Arquette原创
2024-11-04 19:31:01265浏览

How to Grant Database Creation Privileges While Restricting Access to Specific Databases in MySQL?

授予数据库创建权限并限制访问

问题:

用户需要能够在 MySQL 实例中创建数据库,但每个用户只能被授予访问其自己数据库的权限。

解决方案:

第 1 步:创建替换角色

创建一个角色,其中包含创建和修改数据库所需的权限:

CREATE ROLE db_creator;
GRANT CREATE, DROP, ALTER, DELETE, INSERT, UPDATE, SELECT ON *.* TO db_creator;

步骤 2:将角色授予目标用户

将角色授予所需的用户,指定角色的权限应应用于具有特定命名约定的数据库:

GRANT db_creator TO 'testuser'@'%';

在此示例中,测试用户将拥有由db_creator 角色,但仅适用于以 testuser_ 开头的数据库。

附加说明:

  • 将 testuser 替换为实际用户名。
  • 指定“%”作为主机以授予来自任何主机的访问权限(根据您的环境需要进行调整)。
  • 可以根据需要自定义数据库的命名约定(例如 testuser_%)。

以上是如何授予数据库创建权限,同时限制对 MySQL 中特定数据库的访问?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn