设为首页收藏本站
查看: 91|回复: 0

[PHP] MySQLSleep连接过多问题解决方法_MySQL

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2017-5-12 16:11:00 | 显示全部楼层 |阅读模式
    有时候你在mysql中运行SHOW PROCESSLIST;后会发现数据库中有很多这样的进程:


    那么造成sleep的原因,有三个,下面是mysql手册给出的解释:
    1.客户端程序在退出之前没有调用mysql_close().[写程序的疏忽,或者数据库的db类库没有自动关闭每次的连接。。。]
    2.客户端sleep的时间在wait_timeout或interactive_timeout规定的秒内没有发出任何请求到服务器. [类似常连,类似于不完整的tcp ip协议构造,服务端一直认为客户端仍然存在(有可能客户端已经断掉了)]
    3.客户端程序在结束之前向服务器发送了请求还没得到返回结果就结束掉了. [参看:tcp ip协议的三次握手]
    解决的方法也很简单
    在配置文件中加入
      代码如下:
    [mysqld]
    wait_timeout=10

    或者
      代码如下:
    mysql> set global wait_timeout=10;
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表