查了好多资料,发明还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧!

    题设:

    公司网站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的运行态状。