如果一个项目需要多个以相同<string>开头的mySql数据库,并且其中一个希望授予用户对所有数据库的相同权限,那么最好的方式是什么?
示例:
<string>_db_1
<string>_db_2
<string>_db_3
...
<string>_db_n
GRANT <privileges> ON <database> . * TO 'user'@'localhost';发布于 2019-11-12 18:49:23
下面是你可以尝试的方法:
mysql>创建用户'alex'@'localhost‘,标识为'xxxxxxxxxxxx';
查询正常,0行受影响(0.00秒)
mysql>将somestring\_db\_%主机上的create、select、insert、update、delete权限授予‘alex’@‘local.*’;
查询正常,0行受影响(0.00秒)
mysql>刷新权限;
查询正常,0行受影响(0.00秒)
mysql> \q
再见
-u @ -p ~# mysql root@test root
输入密码:
欢迎使用MySQL监视器。命令以;或\g结尾。
您的MySQL连接id为7
服务器版本: 5.7.28 MySQL社区服务器(GPL)
……
..。
。。
键入' help ;‘或'\h’以获取帮助。键入'\c‘清除当前input语句。
您正在通过unix套接字执行ssl连接。请考虑关闭ssl,因为它不会使通过unix套接字进行的连接更加安全。
mysql> show;
+-------------------------------------------------------------------------------------------+
赋予alex@localhost权限
+-------------------------------------------------------------------------------------------+
|授权使用。发送到'alex'@'localhost‘|
授予‘alex’@‘somestring_db_%.*’SELECT,INSERT,UPDATE,DELETE,CREATE权限
+-------------------------------------------------------------------------------------------+
集合中的2行(0.00秒)
mysql>创建数据库somestring_db_1;
查询正常,1行受影响(0.00秒)
mysql>创建数据库somestring_db_2;
查询正常,1行受影响(0.00秒)
mysql>创建数据库somestring_db_3;
查询正常,1行受影响(0.00秒)
使用somestring_db_1的mysql>;
数据库已更改
mysql> create table test ( id int not null,name varchar(10) not null );
查询正常,0行受影响(0.50秒)
mysql>插入测试值(1,‘嘿’),(2,‘那里!’),(3,‘它起作用了!!’);
查询正常,3行受影响(0.18秒)
记录:3重复:0警告:0
mysql> select * from test;
+-+
id |名称
+-+
1|嘿
2|在那里!
3|成功!!
+-+
set中的3行(0.01秒) mysql>从测试中删除;
查询正常,3行受影响(0.25秒)
mysql> select * from test;
空集(0.00秒)
https://stackoverflow.com/questions/51789101
复制相似问题