Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误1129:主机'';由于许多连接错误而被阻止;使用'解除阻塞;mysqladmin刷新主机';_Mysql_Sql_Security_Database Administration - Fatal编程技术网

错误1129:主机'';由于许多连接错误而被阻止;使用'解除阻塞;mysqladmin刷新主机';

错误1129:主机'';由于许多连接错误而被阻止;使用'解除阻塞;mysqladmin刷新主机';,mysql,sql,security,database-administration,Mysql,Sql,Security,Database Administration,当我运行一个连接到mysql的python代码时,我看到了这个错误;错误1129:主机“”由于许多连接错误而被阻止;请使用“mysqladmin flush hosts”取消阻止 以下是我尝试过的: 我增加了max_connection_errors值,并执行了“flush hosts”命令。我也检查了mysql日志,但是没有。另外,我检查了网络连接,也没问题 $netstat-an | grep 3306 tcp 0.0.0.0:3306 0.0.0.0:*听 这里是mysql设置: mysq

当我运行一个连接到mysql的python代码时,我看到了这个错误;错误1129:主机“”由于许多连接错误而被阻止;请使用“mysqladmin flush hosts”取消阻止

以下是我尝试过的: 我增加了max_connection_errors值,并执行了“flush hosts”命令。我也检查了mysql日志,但是没有。另外,我检查了网络连接,也没问题

$netstat-an | grep 3306 tcp 0.0.0.0:3306 0.0.0.0:*听

这里是mysql设置:

mysql>显示变量,如“%error%”

错误计数| 0
log|u error |/var/log/mysql/error.log 最大连接错误数| 4294967295
最大错误计数| 64
从站跳过错误关闭

mysql>显示变量,如“%max_connections%”

最大连接数| 5000

mysql>显示类似“%onn%”的状态

中断的|u连接| 6
连接| 4802
最大使用连接数| 26
Ssl_客户端_连接| 0
Ssl_connect_重新协商| 0
Ssl_完成_连接| 0
螺纹连接| 1

mysql>“显示变量名的状态,如“Threads\uu%”或variable\u name=“Connections”

连接| 4996
线程缓存| 7
螺纹连接| 1
创建线程| 1950
正在运行的线程| 1

mysql>显示进程列表

4800 | root | localhost | NULL | Query | 0 | NULL | show processlist
4807 | root | localhost | db1 | Sleep | 0 | | NULL


有人能帮我找出哪里出了问题,有什么办法来解决吗?

这不是MySQL服务器软件的故障。这是运行python程序的同一台机器上运行的其他软件出现故障的证据。错误1129意味着MySQL粗糙的反网络犯罪功能已被激活:程序正在运行您正在使用的同一台计算机上的g多次尝试连接但失败(默认为100次)。当这种情况发生时,MySQL断定该计算机已受损(或正在疯狂运行),并拒绝接受来自它的任何更多连接

这可能是什么原因造成的?您的机器上是否有cronjob或其他自动运行的程序使用了无效的用户名或密码?如果是这样,它可能会在MySQL服务器上不断累积连接故障

如果是基于Linux或BSD的机器,请多次使用
ps-axuww
shell命令,查找您无法识别的进程。(如果您不确定如何识别,请在论坛上询问您的操作系统。)

<>你可以考虑重新启动机器。

Edit您的计算机似乎受到了攻击。您提到在您的authlog中收到了许多
密码失败的消息。您能追踪到这些攻击的来源吗?如果它们是内部的——也就是说,来自您或您的同事控制的计算机——它们可能是某种已配置的程序

  • 跑得太频繁,或
  • 要使用错误的密码
  • 或者两者兼而有之
在ip地址中寻找一种模式。这些失败是来自一个地址还是少数地址?它们是来自192.168..或10…*,甚至是来自本地主机(127.0.0.1)?还是来自各地?如果您不认识这些地址,请尝试将它们放入这三个网站的表单中:

https://ripe.net
https://apnic.net
https://arin.net
这三者中至少有一个会告诉你失败来自哪个国家和电信提供商。如果他们来自某个你没有关系的地方,你就会受到攻击

如果攻击是外部的,您需要在它们到达数据库计算机之前采取措施阻止它们。大多数运行MySQL的计算机通过防火墙与更广泛的互联网隔离,因为MySQL不像其他一些软件那样能够抵御网络犯罪和脚本儿童攻击

寻找一个计时模式。这些失败的计时是每五分钟一次,还是尽可能快,或者怎么样?如果是常规的,那么你可能在某个地方有某种行为不端的程序


如果这些对你来说都没有意义,请请网络工程师帮助你。如果你的MySQL服务器持有敏感或有价值的信息,请不要延迟解决这个问题。祝你好运。这种事毁了我几天的时间。

一个客户端一定在同一时间内发出了许多连接请求。
重置解决方案删除主机IP通过运行命令从阻止列表中
mysqladmin flush hosts

您应该在@BK435上询问这个问题。Python和mysql在同一台服务器上。此外,当我运行代码时,mysql错误立即生成。代码甚至没有失败,也没有生成任何错误。我还检查了/var/log,没有失败,也没有错误。谢谢@Ollie Jones。我检查了ed/var/log/authlog,我看到很多“根用户密码失败”和“身份验证失败”“来自所有不同的ip地址。也许这就是错误1129的原因。我也重新启动了机器,但我看到了同样的错误。接下来我应该采取什么行动?我可以不接受可疑的ip地址连接吗?@BK435,你刚才提到我应该允许远程连接。但是,我没有跳过网络,而是设置默认设置为仅在本地主机上侦听,该主机更兼容且安全性不低。由于许多连接错误,主机“X”中的主机“X”被阻止。您是我的天使,@Ollie Jones!非常感谢。我注意到有很多可疑的连接失败,例如“sshd[3040]:root from..的密码失败”或“sshd[8726]:pam_unix(sshd:auth):身份验证失败;logname=”。我安装了fail2ban,它已经禁止了许多ip