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

相關文章
相關標籤/搜索