MySQL警告“IP地址无法parsing”

我有MySQL的主/从设置,我已经注意到两个服务器上的MySQL日志文件中的以下警告:

[Warning] IP address 'xxx.xxx.xxx.xxx' could not be resolved: Name or service not known 

我查过了,DNS查找工作正常,大部分IP都来自中国。

我打算限制在防火墙端口3306上的访问,但是请你帮我理解他们正在尝试做什么。 他们只是试图连接到MySQL服务器。 我可以在哪里find更多的细节。

谢谢

当您创buildMySQL用户[email protected] MySQL必须对连接到它的每个IP地址进行反向查找,以确定它们是否是example.com一部分。

当然,创build反向查找没有任何限制,所以我可以很高兴地要求我的提供商将我的IP地址的反向查找设置为google.com如果我需要的话…或example.com如果我碰巧知道这是什么你的数据库中的用户有。 这不会让我进来,因为MySQL然后在返回的域上进行正向查找,以确保它匹配连接的相同IP地址。

你可以在my.cnf中用skip_name_resolveclosures它。 这样做有很多好的理由 。

你得到这个错误的原因是有问题的IP地址根本没有反向查找。

你也有来自中国的恶意攻击者企图闯入你的数据库。 这应该是你的首要任务。

我认为这是一个非常糟糕的想法,直接在互联网上暴露你的数据库服务器。

如果你正在复制到远程主机,并需要互联网访问来实现,我build议你在两个networking之间build立一个VPN,绑定你的MySQL服务器,只听本地networking。

如果你的两个主机都在同一个本地networking上,你将安全地绑定你的mysql服务器到那个networking。

当远程连接到Mysql时,出现错误。 我在/var/log/mysqld.log有这个警告:

 [Warning] IP address 'XXXX' could not be resolved: Temporary failure in name resolution 

我只是将这一行添加到/etc/hosts文件中:

 XXXX some_name 

问题解决了! 没有使用skip-name-resolve ,当连接到mysql时,它在我的本地应用程序中导致了一些错误。

刚刚被Amazon RDS抓到了。 我只想连接到我的testing数据库实例(以下是绝对不build议生产数据库):

Amazon RDS中的安全组的工作原理与EC2实例的正常防火墙规则不同。 如果您为特定IP打开MySQL端口,则IP必须由您的MySQL服务器识别。 如果没有连接被拒绝。 临时解决scheme是创build一个新的安全组,即anyone_can_connect_to_mysql只有一个项目 – 允许任何地方从互联网入站连接MySQL / Aurora并将此安全组附加到您的数据库。

 Inbound ----------------------------------------- | MYSQL/Aurora | TCP | 3306 | 0.0.0.0/0 | ----------------------------------------- 

这将从客户端连接中删除IP检查,以便您可以自由连接。 一旦解决问题结束,请不要忘记从数据库中分离出anyone_can_connect_to_mysql策略。