Welcome 微信登录

首页 / 数据库 / MySQL / 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即可。对于短时间上来大量请求的需要和开发一起分析定位问题。使用mysqlsla分析MySQL日志Linux下MySQL多实例免安装部署相关资讯      MySQL错误  Too many connections 
  • MySQL出现data too long for   (02月13日)
  • 错误代码:2013 Lost connection   (05/27/2015 10:24:23)
  • MySQL碰到“Every derived table   (01/05/2015 08:17:14)
  • MySQL错误代码大全  (12/28/2015 17:08:43)
  • Linux下MySQL出现#1036 – Table   (01/21/2015 15:49:51)
  • MySQL导入sql文件错误#1044 -   (03/03/2014 17:01:48)
本文评论 查看全部评论 (0)
表情: 姓名: 字数