这不是重复的(请仔细阅读)
挖掘生产服务器的 mysql 日志,我发现了一些带有上述错误的条目,都指向相同的主机名。每个条目出现在 mysql 启动后约 30 秒。mysql.user
表中也没有主机名的记录
如果 mysql 暴露在公共互联网上,我不会感到惊讶,但事实并非如此。该端口被 lfd/iptables 阻止,并明确允许一些公共/私有 IP 地址使用。
MySQLskip_name_resolve
没有启用,因为我需要一些 VPN 服务器的主机名解析。
这些条目可能来自哪里?服务器是WHM/CPanel,MySQL 5.6.21
如果
--skip-name-resolve
未指定,传入连接的 IP 地址将通过 DNS 查询解析为名称...但是,不只是一个 DNS 查询,因为反向 DNS 条目的存在(例如
PTR
记录203.0.113.113 → foo.example.com)不足以进行基于主机名的身份验证——任何人都可以更改反向 DNS 条目声称是他们想要的任何主机名。所以会发生第二个查询。
解析主机名后,会在相反方向进行额外的 DNS 查找,以验证在第一个 DNS 查询中发现的主机名 foo.example.com 确实映射到解析回原始 IP 地址的 A 记录(例如
A
记录 foo.example.com → 203.0.113.113)。在这种情况下,IP 地址映射到主机名,但主机名没有映射回原始 IP 地址。
http://dev.mysql.com/doc/refman/5.6/en/host-cache.html