>데이터 베이스 >MySQL 튜토리얼 >可遇不可求的Question之mysql连接数暴增的解决方法篇_MySQL

可遇不可求的Question之mysql连接数暴增的解决方法篇_MySQL

WBOY
WBOY원래의
2016-06-01 13:36:481205검색

bitsCN.com

题设:

  公司网站mysql连接超过限制,网站基本上动不了了,分析过他的流量后发现不是流量暴增或者黑客攻击引起的。

分析:

登录mysql服务器,做了以下检查:

1、用show processlist查看mysql正在执行的线程。发现大量的sleep和超时的线程。
2、kill掉所有sleep的或者超时的线程。但发现连接数马上又暴增。仔细观察一些超时的连接所执行的sql语句,发现跟它的user表相关的查询超时的情况特别多。
3、使用check table user发现表有损坏。使用了repair table user修复表后也没什么好转。没办法了只好把该表mysqldump出来,然后再用source的方式导入进去。观察了一下连接数发现已经恢复到平常的水平了。搞定,哈哈。

总结:
1、数据库跟汽车一样,时常也要用维护一下。myisamchk、CHECK TABLE、 OPTIMIZE TABLE都可以,尤其是optimize这对大量更新的变长行的表非常重要。
2、如果你对mysql的状态监测的命令不熟悉的话,可以使用官方的mysql adminiistrator的GUI工具,可以很清楚看到mysql的运行状态。

bitsCN.com
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.