之前遇到过好几次mysql数据库cpu突然占用过高的情况,导致数据库响应十分缓慢。
一般情况下mysql数据库会因为数据的不断增加,查询速度会不断的变慢,所以开启mysql数据库的log-slow-queries是很有必要的。本人经验不多,现在设计数据库,一般都是根据项目可能的数据库规模和增长速度,尽自己最大努力设计合理的数据结构(每个表尽量保留一个主键),开启log-slow-queries然后就上线不管了。等一段时间后,根据慢查询日志分析sql执行慢的原因,根据语句调整程序或者给数据库添加索引,一般这样都能解决问题。
而最近遇到的是mysql突然间cpu占用就100%,慢查询日志记录文件迅速增多,多种优化无效。如果您遇到这个问题,我猜问题原因肯定跟我的一样:数据库损坏了,这个时候就要用数据库管理工具修复下数据库,可能会存在多个表都损坏的情况,修复好后问题就解决了。目前我遇到的两次这种问题都是数据库损坏导致的,您不妨试一试。