我是 Windows 7 上的 XAMPP 新手,通常我在 Linux Debian 上使用 MariaDB。
我最近注意到一些奇怪的事情:默认 root 没有密码,但对我来说问题是为什么我能够使用任何东西登录 MariaDB,我的意思是字面上任何不属于现有用户名的东西.
例如:
mysql -u johndoe
即使没有 johndoe 用户,我也可以使用这种用户名登录,但这不是一个大问题,因为即使我可以使用该用户名登录,我也无法执行任何操作,因为这些用户还没有任何访问权限,但是我的问题是为什么会发生这种情况?又该如何阻止呢?
谢谢,stackoverflow!
以
root
连接到数据库。通过跑步确保您真的root
SELECT CURRENT_USER();
它应该显示
root
@localhost
或其他以 root
作为用户名的内容。然后运行
SELECT user, host FROM mysql.user WHERE user = '';
如果它返回任何内容,那么这就是您可以连接不存在的用户名的原因 - 您拥有所谓的“匿名帐户”。 要停止它,请运行
DELETE FROM mysql.user WHERE user = '';
FLUSH PRIVILEGES;