对未经授权/不同的用户隐藏 MySQL 数据库
Posted
技术标签:
【中文标题】对未经授权/不同的用户隐藏 MySQL 数据库【英文标题】:Hide MySQL database from unauthorised/different user 【发布时间】:2015-10-29 23:21:08 【问题描述】:我正在使用 mysql 进行 SQL 查询。 我已经登录到默认用户“root”,并创建/添加了两个新用户“user1”和“user2”。在每个用户下,我分别创建了一个数据库“database1”和“database2”,并提供了ALL PRIVILEGES。 现在我的问题来了。
如何隐藏“user2”中的“database1”和“user1”中的“database2” ...? 可能吗..?请帮忙谢谢..
【问题讨论】:
不是授予所有用户,而是授予每个用户他们需要的权限dev.mysql.com/doc/refman/5.0/en/grant.html 【参考方案1】:而不是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
【讨论】:
以上是关于对未经授权/不同的用户隐藏 MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章