问题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
- show variables like ‘max_allowed_packet’,默认是1048576 意味着是1M
- my.cnf 中将max_allowed_packet= 1M 改大一些,最大可以改成128M; 一般差不多20M左右就好;
- set global max_allowed_packet = 20 * 1024 * 1024 ;然后重启MySQL就好了;
但是一段时间后,又出现该问题。
问题排查:
由于看不到具体报错信息,无法排查到人和项目。
最后前后端同事分别断网,并查看报错日志是否还在刷新,固定到个人,然后固定到项目。
解决方法3
查到一个同事使用mac版navicat连接服务器时由于密码错误,造成其不断的请求服务器mysql,错误数量超出限制导致问题1。
重新登录并采用方法1,解决问题。
需要了解更多数据库技术:mysql_优化: ‘mysqladmin flush-hosts’问题的排查,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/dtteaching/816494.html