MySQL 安全设置忽略账户限制?

MySQL 安全设置忽略账户限制?

使用 MySQL 几年后,我遇到了一些令我困惑的安全问题。

我创建了一个新的数据库和一个新用户,然后仅向该用户授予对新数据库的 CRUD 权限。

但是当我通过某些 MySQL 客户端或通过 CLI mysql 登录时,我可以读取和更改所有数据库中的数据。

我仔细检查了自己并确认我应该只能访问单个数据库 - 但我仍然可以访问每个数据库。

MySQL 是否有任何设置会导致它忽略安全性,而我却不小心将其打开了?

谢谢。

答案1

是的;如果您使用 MySQL 启动--skip-grant-tables它,则每个人都可以自由轻松地访问所有内容。但是,您更有可能弄乱您的身份验证和权限(这真的很容易做到);发布(最好在新问题中)导致问题的查询/GRANT 语句集(在临时服务器上测试它们是否确实导致您认为的问题),然后有人可以解释出了什么问题。

答案2

我想你没这么做吧grant create,update,read,delete on *.* to 'user'@'localhost';

还要检查以确保您没有使用~/.my.cnf文件中的隐式用户/密码,并且正在启动 mysql CLI mysql -u user -p(我的意思是,您可能以 root@localhost 或类似身份“登录”...)

show grants;应该显示您拥有的所有权限,以及您是哪个“用户”。

答案3

重新启动后它就消失了 - 奇怪的东西,将继续监控。

感谢所有回答的人。

相关内容