隐藏未经授权/不同用户的MySQL数据库

时间:2015-08-06 17:23:50

标签: mysql cmd

我正在使用MySQL进行SQL查询。 我已登录默认用户“root”,并创建/添加了两个新用户“ user1 ”& “的用户2 ”。在每个用户下,我分别创建了一个数据库“ database1 ”和“ database2 ”,并提供了 ALL PRIVILEGES 。 现在回答我的问题。

如何从“ user1 ”隐藏“ database1 ”,从“ user1 ”隐藏“ database2 ” ...? 可能吗..?请帮忙谢谢..

1 个答案:

答案 0 :(得分:2)

而不是Grant all privileges on *.* to 'user1'@'IP';& Grant all privileges on *.* to 'user2'@'IP';您需要revoke all privileges on *.* from 'user1'@'IP';& revoke all privileges on *.* from 'user1'@'IP';这样他们就看不到所有的数据库了。

然后,通过执行GRANT ALL PRIVILEGES ON database1.* TO 'user1'@'IP';&只授予每个用户需要查看/访问的数据库的权限。 GRANT ALL PRIVILEGES ON database2.* TO 'user2'@'IP';这当然是假设您希望每个用户都拥有其数据库的所有权限。

运行其他命令后不要忘记flush privileges

注意:不确定您的IP范围是什么,或者您使用的是通配符(%),所以我只是放IP

如果将来有疑问,请参阅dev.mysql