对未经授权/不同的用户隐藏 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 数据库的主要内容,如果未能解决你的问题,请参考以下文章

未经授权的所有用户的 Firebase 数据

Azure AD 同时登录不同应用程序后用户未经授权

如何在 postgresql 中进行一些未经授权的登录尝试后锁定数据库用户帐户

vpnlab软件怎么样

MySQL添加用户删除用户与授权

SQLSERVER使用密码加密备份文件以防止未经授权还原数据库