当前位置 : 主页 > 数据库 > mysql >

解决MySQL数据库链接超时报1129错误问题

来源:互联网 收集:自由互联 发布时间:2022-12-24
说明: MySQL 为了数据库的安全性默认在链接中断或者错误时记录错误链接的ip 等信息(host_cache),有点像系统的错误日志的一种机制。当同一个ip 异常链接数到达某一阈值(max_connec

说明:

MySQL 为了数据库的安全性默认在链接中断或者错误时记录错误链接的ip 等信息(host_cache),有点像系统的错误日志的一种机制。当同一个ip 异常链接数到达某一阈值(max_connect_errors)后就会对该ip的链接进行阻止。sql

解决办法:

首先连接服务器上执行以下

输入密码

一、清除当前产生的缓存:

#sql执行

flush hosts;

二、关闭对应的缓存机制:

#my.ini配置文件中关闭host-cache
skip-host-cache
#host_cache_size=0
#两种配置效果同样能够选一个安全

三、修改阈值(最大错误链接数 max_connect_errors)

#my.ini配置文件中更改容许的最大错误链接数
max_connect_errors = 8000服务器

或通过命令行修改

进入Mysql数据库查看max_connection_errors:show variables like '%max_connect_errors%';

修改max_connection_errors的数量为8000: set global max_connect_errors = 8000;

查看是否修改成功:show variables like '%max_connect_errors%';

MYSQL不能连接了,错误ERROR 1129 (00000): Host ” is blocked because of many connection errors;

1. 问题

MYSQL连接报错,错误ERROR 1129 (00000): Host ” is blocked because of many connection errors;

有一次在工作中偶然遇到了这个问题,我的可以连接没问题,同事说数据库连不上,开始以为连接数太小了,后来发现连接数够大,于是上网查询到了解决方法:

错误的大意:有太多连到mysql服务器的连接,连到一半就断了,也就是说尝试连接mysql没有成功!
出错的原因:这个同事尝试登陆mysql次数太多了,并且都没有登陆成功~~

简单叙述连mysql的流程:
1.根据mysql的连接协议,发起握手,这在网络层面。
2.mysql服务器在内存上创建客户端连接的数据结构。
3.连接认证,就是看看客户端的权限,如用户名,密码允许不
4.监听端口,等待命令

2. 解决办法

执行mysqladmin flush-hosts命令或者 FLUSH HOSTS 命令

mysqladmin flush-host
/* FLUSH HOSTS*/

说明:系统变量max_connect_errors设置了允许中断的次数,超过了这个次数,mysql就报上边的错,因为它觉得可能哪里有问题(难道是恶意攻击?),然后它就不让新的连接连了, 默认max_connect_errors 是10,但可动态调,不过调max_connect_errors 不是根本解决办法

参考:MYSQL不能连接了MYSQL不能连接了,错误ERROR 1129 (00000): Host ” is blocked because of many connection errors;

MYSQL连接报错,错误ERROR 1129 (00000): Host ” is blocked because of many connection errors;
有一次在工作中偶然遇到了这个问题,我的可以连接没问题,同事说数据库连不上,开始以为连接数太小了,后来发现连接数够大,于是上网查询到了解决方法:

错误的大意:有太多连到mysql服务器的连接,连到一半就断了,也就是说尝试连接mysql没有成功!
出错的原因:这个同事尝试登陆mysql次数太多了,并且都没有登陆成功~~

简单叙述连mysql的流程:
1.根据mysql的连接协议,发起握手,这在网络层面。
2.mysql服务器在内存上创建客户端连接的数据结构。
3.连接认证,就是看看客户端的权限,如用户名,密码允许不
4.监听端口,等待命令

解决办法:
执行mysqladmin flush-hosts命令或者 FLUSH HOSTS 命令

mysqladmin flush-host
/* FLUSH HOSTS*/

说明:系统变量max_connect_errors设置了允许中断的次数,超过了这个次数,mysql就报上边的错,因为它觉得可能哪里有问题(难道是恶意攻击?),然后它就不让新的连接连了, 默认max_connect_errors 是10,但可动态调,不过调max_connect_errors 不是根本解决办法

到此这篇关于MySQL数据库链接超时报1129错误解决办法的文章就介绍到这了,更多相关MySQL数据库链接超时内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

上一篇:详解Mysql两表 join 查询方式
下一篇:没有了
网友评论