当前位置: 首页 > 面试题库 >

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

辛盛
2023-03-14
问题内容

我希望有 多个 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_开头的名称的数据库



 类似资料:
  • 问题内容: MySQL是否允许创建名称中带有点()的数据库? 我正在使用MySQL 5.1.22。 问题答案: 您不能在数据库名称中使用点。另外,我将避免在任何标识符中使用它。常见的约定是使用下划线代替。它将达到相同的目的,并且避免了很多混乱。如果 确实 有充分的理由在表或字段名称中使用奇怪的和否则为非法的字符,则必须转义它。 要在MySQL中转义标识符,请使用反引号: 在我看来,养成无论是否 需

  • MySQL 是一个使用广泛的数据库服务器,你肯定会在某些节点上安装配置 MySQL 服务器。 本节将向你展示如何安装配置 MySQL 服务器,以及如何为应用程序自动创建数据库和用户。 准备工作 如果你还没有 MySQL 模块,先创建一个: # mkdir /etc/puppet/modules/mysql # mkdir /etc/puppet/modules/manifests # mkdir

  • 我有一些rest api,如下所示: 我必须如何保护他们?每个用户只能看到她/他的数据,但管理员可以看到所有数据。 怎样 在会话中的每个方法用户ID等于传递给api的user_id参数之前,我是否检查过?有更好的方法吗? 附言:我使用JWT的Spring安全。

  • 我当前的Android应用程序使用Firebase实时数据库。 我正在与安全规则作斗争,因为我希望只允许单个用户写入数据,同时允许任何经过身份验证的用户读取数据。 我制定了这些规则,但不确定它们是否足够安全。。。 其中“XXXXXXXXXXXXXXXXXXXX”是我希望允许写入数据的指定用户。 用户的uid是常量值吗? 在测试新规则时,单击“模拟”按钮时,“验证”选项管理什么?

  • 在MySQL 中,可以使用 CREATE DATABASE 语句创建数据库,语法格式如下: 中的内容是可选的。语法说明如下: <数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。 IF NOT EXISTS:在创建数据库之前进行判断,只有该

  • 到目前为止,我只能在阅读firebase文档后得出以下结论: