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

MySql授予以开头的所有数据库的权限,mysql,database,Mysql,Database,如果一个项目需要多个mySql数据库,并且一个项目希望授予用户对所有数据库的相同权限,那么最优雅的方式是什么 例如: <string>_db_1 <string>_db_2 <string>_db_3 ... <string>_db_n GRANT <privileges> ON <database> . * TO 'user'@'localhost'; 以下是您可以尝试的方法: mysql>创建由“XXXXXXXXXX

如果一个项目需要多个mySql数据库,并且一个项目希望授予用户对所有数据库的相同权限,那么最优雅的方式是什么

例如:

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

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

以下是您可以尝试的方法:

mysql>创建由“XXXXXXXXXX”标识的用户“alex”@“localhost”; 查询确定,0行受影响0.00秒

mysql>授权创建、选择、插入、更新、删除'somestring_db_uz%.*到'alex'@'localhost'; 查询确定,0行受影响0.00秒

mysql>刷新权限; 查询确定,0行受影响0.00秒

mysql>\q 再见

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

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

mysql>show-grants; +----------------------------------------------+ |补助金alex@localhost | +----------------------------------------------+ |允许在上使用。至“alex”@“localhost”| |将选择、插入、更新、删除、创建somestring_db_uu%.*的权限授予“alex”@“localhost”| +----------------------------------------------+ 设置为2行0.00秒

mysql>创建数据库somestring\u db\u 1; 查询确定,1行受影响0.00秒

mysql>创建数据库somestring\u db\u 2; 查询确定,1行受影响0.00秒

mysql>创建数据库somestring\u db\u 3; 查询确定,1行受影响0.00秒

mysql>使用somestring\u db\u 1; 数据库已更改 mysql>创建表测试id int not null,name varchar10 not null; 查询正常,0行受影响0.50秒

mysql>插入测试值1,'Hey',2,'there!',3,“它起作用了!!”; 查询正常,3行受影响0.18秒 记录:3个重复:0警告:0

mysql>从测试中选择*; +--+------+ |id |名称| +--+------+ |1 |嘿| |2 |在那里| |3 |有效| +--+------+ 设置3行0.01秒

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

mysql>从测试中选择*; 空置0.00秒


似乎仅仅使用SQL是无法做到这一点的。不过在任何编程语言中都很容易做到。只需循环查询mysql.db。