具有空主机名的 MySQL 用户

dr_*_*dr_ 4 mysql permissions mysql-5.6

在 MySQL 5.6 服务器上,该mysql.user表包含一个具有空主机名 ( 'jdoe'@'')的用户。这意味着什么?

Rol*_*DBA 5

名为 joe 的用户可以从任何主机连接。

请注意什么MySQL 5.0 认证学习指南

在此处输入图片说明

在第 498 页第 6 段的要点中说:

在 Unix 上,MySQL 带有一个 mysql_secure_installation 脚本,它可以在您的安装上执行几个有用的与安全相关的操作。该脚本具有以下功能:

  • 为 root 帐户设置密码
  • 删除任何可远程访问的 root 帐户。
  • 删除匿名用户帐户。这提高了安全性,因为它可以防止任何人以 root 身份从远程主机连接到 MySQL 服务器的可能性。结果是任何想要以 root 身份连接的人都必须首先能够登录服务器主机,这为抵御攻击提供了额外的屏障
  • 删除测试数据库(如果删除匿名帐户,您可能还想删除他们有权访问的测试数据库)。

需要立即删除该用户。

只需运行

DELETE FROM mysql.user WHERE host='';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

试一试 !!!

更新 2017-02-01 17:07 美国东部时间

根据 MySQL访问控制文档,第 2 阶段:请求验证

'%' 或空白主机值表示“任何主机”。

这适用于所有级别的赠款。