由于许多连接错误,主机“主机名”被阻止;使用 'mysqladmin flush-hosts' 解除阻塞
Posted
技术标签:
【中文标题】由于许多连接错误,主机“主机名”被阻止;使用 \'mysqladmin flush-hosts\' 解除阻塞【英文标题】:Host 'hostname' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'由于许多连接错误,主机“主机名”被阻止;使用 'mysqladmin flush-hosts' 解除阻塞 【发布时间】:2013-04-19 15:53:56 【问题描述】:我的网站在本地主机“Wamp”服务器上运行良好。但是,一旦我将其上传到我的网络主机供其他人使用,我就会收到以下错误:
主机 'stats.starfish.arvixe.com' 由于许多连接错误而被阻止;使用 'mysqladmin flush-hosts' 解除阻止
我无法执行“flush-hosts”命令,因为我使用的是共享主机并且没有权限。
我在网上进行了广泛的搜索,但我无法找到一个可靠的答案来说明可能导致我的连接错误的原因。该网站运行了一段时间,但一旦多人开始使用它,mysql 就会阻止我的虚拟主机,因为它有太多的连接错误。
是否有任何我可以访问或查看的日志可以告知我导致连接错误的原因?
【问题讨论】:
嗯....我曾经发现过这个问题。似乎很多人同时使用 MySQL 服务器,这使得错误出现。请联系您的托管服务提供商为您检查。 你在使用持久连接吗?我以前见过启用持久连接引起的这种问题。 【参考方案1】:https://dev.mysql.com/doc/refman/5.0/en/blocked-host.html
您的问题是您不断尝试连接并且失败了。共享服务器被设置为保护自己免受这种行为的影响,并切断了您的联系。关闭您的应用程序一段时间,然后在重新打开之前解决连接问题。
在您可以再次尝试之前的时间量是在服务器上设置的,可能是在您看不到的地方。所以每隔 15 分钟尝试一次,直到你被允许尝试...
我建议使用备用 mysql 服务器(可能是本地服务器)来练习,这样您就可以避免将来对该主机显示为暴力攻击。始终在“打开服务”之前手动测试您的连接。
【讨论】:
【参考方案2】:我遇到了同样的问题。但我是这样解决的:
登录到您的“域管理面板” (www.yourdomainname.com/cpanel
)
转到“数据库”部分并点击“远程Mysql”选项
在下一页中,在“主机(允许使用% 通配符)” 文本字段中输入"%"
并按“添加主机” 按钮
现在您应该会在下面的列表中看到 "%"
,然后您可以随时按 "X" 按钮将其删除。
现在转到您的“php 脚本”文件并设置您的数据库主机名,不带"http://"
或"www"
现在尝试重新连接它。希望对你有帮助。
记住:通过这样做,您将允许外部 Web 服务器访问您的 MySQL 数据库,方法是将它们的域名添加到能够访问数据库的主机列表中您的网站。
【讨论】:
OP 主办方是否使用 cpanel?它是否在该 URL 下运行? 你不觉得有点不安全吗?【参考方案3】:如果您的网站托管在数据库的同一台服务器上,则使用“localhost”作为数据库主机
【讨论】:
这不太可能是问题,特别是如果 MySQL 服务器响应stats.starfish.arvixe.com
,如问题所示。以上是关于由于许多连接错误,主机“主机名”被阻止;使用 'mysqladmin flush-hosts' 解除阻塞的主要内容,如果未能解决你的问题,请参考以下文章
在 AFNetworking 中找不到具有指定主机名的服务器
在 Perl 的 ssh 连接中捕获错误主机名的错误消息(使用 Net::OpenSSH)