通过限制对用户创建的数据库的访问来保护 MySQL 数据库
在多用户 MySQL 设置中,确保数据安全至关重要。一个常见的挑战是允许用户创建数据库,同时限制他们只能访问自己创建的数据库。
为了解决此问题,MySQL 提供了一种使用通配符数据库名称的细致方法。解决方案不是授予特定数据库的权限,而是授予具有特定前缀或模式的数据库的权限。
通过使用 GRANT 命令,您可以授予匹配特定模式的数据库的所有权限。授予对匹配数据库名称的模式的权限的语法如下:
GRANT ALL PRIVILEGES ON `.%` TO ' '@'%';
In此命令:
例如:
GRANT ALL PRIVILEGES ON `testuser_%.` TO 'testuser'@'%';
通过执行此命令,您授予用户 testuser 对以前缀 testuser_ 开头的所有数据库具有权限。这允许 testuser 创建名称为 testuser_demo、testuser_prod 等的数据库。但是,testuser 将无法查看或访问名称超出此模式的数据库。
这种方法确保了可扩展性,允许多个用户创建安全地保护数据库,同时限制他们访问自己的作品。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3