MySql 授予对以 开头的所有数据库的权限

2023-12-25

如果一个项目需要多个以相同开头的mySql数据库<string>如果希望授予用户对所有用户相同的权限,最优雅的方法是什么?

example:

<string>_db_1
<string>_db_2
<string>_db_3
...
<string>_db_n

GRANT <privileges> ON <database> . * TO 'user'@'localhost';

您可以尝试以下方法:

mysql> 创建由 'xxxxxxxxxxxx' 标识的用户 'alex'@'localhost';
查询正常,0 行受影响(0.00 秒)

mysql> 将 `somestring_db_%`.* 上的创建、选择、插入、更新、删除授予 'alex'@'localhost';
查询正常,0 行受影响(0.00 秒)

mysql> 刷新权限;
查询正常,0 行受影响(0.00 秒)

mysql> \q
Bye

[root@test ~]# mysql -u alex -p
输入密码:
欢迎使用 MySQL 监视器。命令以 ; 结尾或\g。
你的 MySQL 连接 ID 是 7
服务器版本:5.7.28 MySQL 社区服务器(GPL)
....
...
..
输入“帮助”;或“\h”寻求帮助。键入“\c”以清除当前输入语句。

您正在通过 unix 套接字强制执行 ssl 连接。请考虑 关闭 ssl,因为它不通过 unix 套接字建立连接 更安全。

mysql> 显示补助金;
+------------------------------------------------ ------------------------------------------------------+
|为 alex@localhost 提供资助 |
+------------------------------------------------ ------------------------------------------------------+
|授予使用权.发送至 'alex'@'localhost' |
|授予选择、插入、更新、删除、创建权限somestring_db_%.* 至 'alex'@'localhost' |
+------------------------------------------------ ------------------------------------------------------+
2 行一组(0.00 秒)

mysql> 创建数据库 somestring_db_1;
查询正常,1 行受影响(0.00 秒)

mysql> 创建数据库 somestring_db_2;
查询正常,1 行受影响(0.00 秒)

mysql> 创建数据库 somestring_db_3;
查询正常,1 行受影响(0.00 秒)

mysql> 使用 somestring_db_1;
数据库已更改
mysql> 创建表 test ( id int not null,name varchar(10) not null );
查询正常,0 行受影响(0.50 秒)

mysql> 插入测试值 (1,'嘿'),(2,'那里!'),(3,'它有效!!');
查询正常,3 行受影响(0.18 秒)
记录:3 重复:0 警告:0

mysql> 从测试中选择*;
+----+------------+
|编号 |名称 |
+----+------------+
| 1 |嘿|
| 2 |那里! |
| 3 |有用!! |
+----+------------+
3 行一组(0.01 秒)

mysql> 从测试中删除;
查询正常,3 行受影响(0.25 秒)

mysql> 从测试中选择*;
空集(0.00 秒)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySql 授予对以 开头的所有数据库的权限 的相关文章

随机推荐