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

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

我创build一个新的数据库和一个新的用户,然后授予这个用户只有新的数据库的CRUD权限。

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

我仔细检查了自己,证实我只能访问单个数据库 – 我仍然可以访问每个数据库。

有什么设置的MySQL只是让它忽略了安全性,我不小心打开了它?

谢谢。

是; 如果您使用--skip-grant-tables启动MySQL,则允许所有人免费且轻松地访问所有内容。 但是,更糟糕的是,你把自己的authentication和烫发弄得一团糟(这很容易)。 (可能在一个新的问题是最好的)引起问题的一组查询/ GRANT语句(在临时服务器上testing,他们实际上会导致你认为他们这样做的问题),并且有人可以解释出了什么问题。

我不假设你grant create,update,read,delete on *.* to 'user'@'localhost';

也检查确保你没有使用隐含的用户/密码从~/.my.cnf文件,并正在启动与mysql的MySQL CLI mysql -u user -p (我的意思是说,你可能是“login”作为根@localhost什么的…)

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

重启之后就消失了 – 奇怪的东西,会继续监视。

感谢大家的回答。