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