欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql_优化: ‘mysqladmin flush-hosts’问题的排查

程序员文章站 2022-04-20 23:01:40
问题1:mysqladmin flush-hostsHost is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’;同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞;问题排查:被封的为公司内部ip,说明公司内有人请求数据库错误并且数量超出了数据库设置,造成该ip被封。解决办法1使用如下命令mysql&...

问题1:mysqladmin flush-hosts

Host is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’;

同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞;

问题排查:
被封的为公司内部ip,说明公司内有人请求数据库错误并且数量超出了数据库设置,造成该ip被封。

解决办法1

使用如下命令

mysql> flush hosts;

但是一段时间后,又会出现该问题。

问题2: Packets out of order

查看日志会有Packets out of order 的错误情况。

问题排查:
可能公司同一段ip下,有人传输较大的文件,文件的大小大于数据库的设置,并且超过一定次数造成ip被封。

解决方法2

  1. show variables like ‘max_allowed_packet’,默认是1048576 意味着是1M
  2. my.cnf 中将max_allowed_packet= 1M 改大一些,最大可以改成128M; 一般差不多20M左右就好;
  3. set global max_allowed_packet = 20 * 1024 * 1024 ;然后重启MySQL就好了;

但是一段时间后,又出现该问题。

问题排查:
由于看不到具体报错信息,无法排查到人和项目。
最后前后端同事分别断网,并查看报错日志是否还在刷新,固定到个人,然后固定到项目。

解决方法3

查到一个同事使用mac版navicat连接服务器时由于密码错误,造成其不断的请求服务器mysql,错误数量超出限制导致问题1
重新登录并采用方法1,解决问题。

本文地址:https://blog.csdn.net/weixin_43851310/article/details/107676443