1
yinian1992 2014-12-02 00:44:42 +08:00 1
|
2
mornlight 2014-12-02 00:45:48 +08:00 1
我用MysqlWorkbench 创建用户并赋予权限的,试过没有你说的这个问题。
你看看你有没有对这个用户赋予全局show databases 权限 |
3
extreme 2014-12-02 01:05:37 +08:00 1
试试这个:
CREATE USER 'username'@用户的IP' IDENTIFIED BY '用户的密码'; GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `数据库名称`.* TO 'username'@'用户的IP'; GRANT GRANT OPTION ON `数据库名称`.* TO 'username'@'用户的IP'; |
4
extreme 2014-12-02 01:07:54 +08:00
|
5
andybest OP @yinian1992 @mornlight @extreme
谢谢,但是禁止掉了该用户 show databases 命令权限,也就是该用户无法执行此指令,无法列出任何数据库 有没有可能像问题里所说的,仅列出该用户有操作权限的数据库名称? |
6
lsylsy2 2014-12-02 02:16:50 +08:00 via Android
如果你是卖主机之类,这条语句还是趁早禁用掉好;
这条语句会扫描你机器上所有数据库的权限表(判断该用户能否访问),当数据库数量大到一定程度的时候会全库阻塞,一场灾难。 |