为什么mysql允许我为不存在的mysql用户输入密码

Hus*_*oli 0 mysql users

我的 mysql 服务器有 2 个用户 -

root
robb
Run Code Online (Sandbox Code Playgroud)

但是当我尝试用另一个用户登录时,让我输入密码 -

hussain@magic-laptop:~$ mysql -u jon -p
Enter password:
Run Code Online (Sandbox Code Playgroud)

它不应该给出一个错误说user: jon donesn't exist吗?

小智 5

我相信其他人将能够提供比这更明智的答案,但常识性的猜测是这是一项安全功能。

如果有人试图进行暴力攻击,他们将需要使用上述系统的用户名和密码。如果 MySQL 在提示输入密码之前报告了无效用户,则攻击者已经完成了一半的工作。

这纯粹是理论性的,因为我没有测试过任何东西,也没有被其他人告知过这个主题——只是基于其他系统的有根据的猜测。