mysql - 授予对具有相同前缀的一组数据库的所有权限

标签 mysql

我有一组名称类似于 abc_base_1、abc_base_2、abc_base_3 abc_base_n 的数据库。

我想将所有这些数据库的所有表的所有权限授予一个非根用户。

一般来说,abc_好像是group的公共(public)前缀。

问题:

  1. mysql有数据库组吗?如果是 - 如何定义它们(特殊的东西或它必须具有相同的名称前缀(如 abc))?

  2. 是否可以授予数据库组(或名称以 abc 前缀开头的数据库)的权限?如果是 - 如何授予?

  3. 此权限是为所有具有相同名称前缀的新数据库动态分配的,还是我应该在创建新数据库时始终授予权限。

最佳答案

是的。您可以向一组由 LIKE 通配符标识的 MySQL 数据库授予权限:

mysql> GRANT ALL ON `abc\_%`.* TO username@localhost;

当用户尝试访问数据库时会检查权限——您无需在创建数据库时重复此 GRANT 语句。

关于mysql - 授予对具有相同前缀的一组数据库的所有权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54812169/

相关文章:

mysql - 需要帮助优化 MySQL 查询

mysql - 强制整个 MySQL 数据库在内存中

mysql - 尝试用 ruby​​ 创建前十名列表

mysql - 将 3 个不同的 mysql 查询合并为一个

python - 无法迁移 Django 应用程序 - MySQL 抛出 OperationalError "Too big scale specified"

java - 将数据作为 json 字符串插入 Mysql 服务器 - 无数据上传

php - mysql_fetch_array 获取日期获取每个元素两次

mysql - 使用两个分区是否仍然比没有它们更好?

MySQL 查询不工作

c# - 应用程序可以在 Unity 编辑器中运行,但不能在 Android 上运行