思路
1.硬件上,是否客户太多,mysql查询排队排长龙,溢出。可以考虑做数据库的负载均衡。
2.软件上,是否因为mysql配置文件的max_connections=100的默认连接数太少?修改到1000,重启mysql看看效果。
3.软件上,检查mysql被什么查询语句给卡住了,是否有查询因为没有开启索引而很慢(慢查询),有就找出来,添加索引,优化查询语句,再优化数据表结构帮助查询。
4.硬件上,是否存在服务器存储空间不足?是的话,也会卡住mysql,清理下空间即可。(我的就是这原因,df -h检查到了空间已满)
具体操作
... 太多,下次先 ...
慢查询
登陆mysql后,
show variables like 'version';
show variables like '%slow%';
show global variables like '%timeout';
show variables like '%long_query_time%';
set global wait_timeout=10;
show processlist;
看到一堆的sleep进程
https://www.baidu.com/s?wd=mysql%20show%20processlist%20sleep
延伸阅读
service mysql start
service mysql stop
mysql 线程等待时间,解决sleep进程过多的办法
http://blog.sina.com.cn/s/blog_78ecbe330101332k.html
MySQL的Sleep进程占用大量连接解决方法
http://blog.csdn.net/ciedecem/article/details/12068705
MySQL 慢查询日志(Slow Query Log)
http://blog.csdn.net/leshami/article/details/39829605