我正在使用 MySQL 进行 SQL 查询。 我已登录到默认用户“root”,并创建/添加了两个新用户“user1”和“user2”。在每个用户下,我分别创建了一个数据库“database1”和“database2”,并授予所有权限。 现在我的问题来了。
如何隐藏“user2”中的“database1”和“user1”中的“database2” ...? 是否可以..?请帮忙谢谢..
最佳答案
而不是将 *.* 上的所有权限授予 'user1'@'IP';
& 将 *.* 上的所有权限授予 'user2'@'IP';
code> 您需要撤销对 *.* from 'user1'@'IP' 的所有权限;
& 撤销对 *.* from 'user1'@'IP' 的所有权限;
code> 这样他们就看不到所有数据库。
然后,通过执行 GRANT ALL PRIVILEGES ON database1.* TO 'user1'@'IP'; 来仅授予每个用户需要查看/访问的数据库权限;
& GRANT ALL PRIVILEGES ON database2.* TO 'user2'@'IP';
这当然是假设您希望每个相应的用户对其数据库拥有所有权限。
运行其他命令后,不要忘记刷新权限
。
注意:不确定您的 IP 范围是什么,或者您是否使用通配符 (%
),所以我只输入 IP
。
以后如有疑问请引用dev.mysql
关于mysql - 对未经授权/不同用户隐藏 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31862051/