• Mysql遇到Too many connections的解决办法


    Mysql遇到Too many connections的解决办法

    由于线上mysql实例太多,因此也就经常遇到Too many connections的问题,这个问题也是最常见的问题,下面就结合自己的经验来说一下这种问题的解决办法。

    在出现这种问题的时候业务已经出现问题了,这种情况下最主要的是先恢复业务,而且自己要最先获取show innodb statusshow 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即可。对于短时间上来大量请求的需要和开发一起分析定位问题。

     

  • 相关阅读:
    用户管理
    开机、重启、用户登录注销
    网络请求的封装
    Vuex
    Promise
    Vue Router(二)
    Vue Router(一)
    Vue CLI
    前端模块化-导入导出
    插槽
  • 原文地址:https://www.cnblogs.com/feihongwuhen/p/7169749.html
Copyright © 2020-2023  润新知