Mysql遇到Too many connections的解决办法
Mysql遇到Too?many?connections的解決辦法
由于線上mysql實(shí)例太多,因此也就經(jīng)常遇到Too?many?connections的問(wèn)題,這個(gè)問(wèn)題也是最常見(jiàn)的問(wèn)題,下面就結(jié)合自己的經(jīng)驗(yàn)來(lái)說(shuō)一下這種問(wèn)題的解決辦法。
在出現(xiàn)這種問(wèn)題的時(shí)候業(yè)務(wù)已經(jīng)出現(xiàn)問(wèn)題了,這種情況下最主要的是先恢復(fù)業(yè)務(wù),而且自己要最先獲取show?innodb?status和show?full?processlist的信息以便一會(huì)分析原因。最簡(jiǎn)單的辦法就是臨時(shí)將連接數(shù)稍微調(diào)大,讓自己能登陸上去,一般這種情況下登陸的時(shí)候也會(huì)出現(xiàn)Too?many?connections的提示,那么該如何做呢?這時(shí)候可以在主上面寫(xiě)一個(gè)死循環(huán)不停的連接主mysql以保證自己能正常登錄,簡(jiǎn)單語(yǔ)句如下:
while?true;do?mysql?-uroot?-ppassword?-S?/tmp/mysql_3306.sock;done
然后使用gdb工具來(lái)更改內(nèi)存中max_connections的配置,使用方法為:先使用ps命令查找出mysql的進(jìn)程ID,然后使用如下命令進(jìn)行更改:
gdb?-p?21862?-ex?"set?max_connections=1000"?-batch
注意max_connections不要設(shè)置太大,如果設(shè)置太大可能會(huì)導(dǎo)致系統(tǒng)內(nèi)存耗盡。
登陸之后就可以通過(guò)show?full?processlist看看到底發(fā)生了什么事情,一般的是有SQL堵住的了,kill掉對(duì)應(yīng)的SQL即可。對(duì)于短時(shí)間上來(lái)大量請(qǐng)求的需要和開(kāi)發(fā)一起分析定位問(wèn)題。
?
轉(zhuǎn)載于:https://www.cnblogs.com/feihongwuhen/archive/2013/04/06/7169749.html
總結(jié)
以上是生活随笔為你收集整理的Mysql遇到Too many connections的解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一些重要的算法
- 下一篇: 前谷歌工程团队负责人:如何打造一个完美的