MySQL提示too many connections的一次解决过程

在一次故障过程当中,登陆mysql时候提示too many connections,重启数据库后,很快再次提示,show processlist查看等待进程,发现不少相似:mysql

mysql>show processlist;
| 20681949 | unauthenticated user | 10.10.4.193:52497 | NULL | Connect | | Reading from net | NULL |
| 20681948 | unauthenticated user | 10.10.4.193:52495 | NULL | Connect | | Reading from net | NULLsql

查阅网上资料,https://blog.csdn.net/moqiang02/article/details/21631729 ,修改/etc/my.cnf配置增长skip-name-resolve后正常。数据库

开启tcpdump port 53跟踪,在其它机器上telnet ip 3306端口,可看到跟踪信息,进行了域名逆向解析。禁用skip-name-resolve后,则无逆向解析信息。为验证域名地址彻底异常状况是否有问题,配置不存在的域名地址,一样不会出现跟踪信息。
故分析缘由为8.8.8.8的DNS地址不稳定或者半死不活致使,如8.8.8.8完全故障也不会出现问题。tcp

故从此对mysql进行优化必须配置禁用DNS解析,同时应用尽可能采用链接池技术(本次应用链接过多,很大部分是由于一个链接就创建一个数据库链接)
ide

相关文章
相关标签/搜索