【mysql】 max_connections_errors过大导致无法连接
首先我们连接,可以看到报错如下:
Host 'x.x.x.x' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'Connection closed by foreign host.
原因
- 同个
ip连接mysql时,短期内出现的连接和断裂次数过大而造成的阻塞。
解决三种方法:
第一种,在mysql中重置最大错误连接数
mysql> flush hosts; #默认的max_connection_errors=10,可适当调大
Query OK, 0 rows affected (0.00 sec)
如果mysql有主从或者MGR集群,则主备机器都要执行。
第二种,在配置文件中添加此项,然后重启mysql服务:
[mysqld]
max_connect_errors = 1000
第三种,在数据库中添加max_connection_errors
mysql> show variables like '%max_connection_errors%';
Empty set (0.01 sec)
mysql> set global max_connect_errors = 1000;
Query OK, 0 rows affected (0.00 sec)