问题表现
服务器系统负载高,CPU长时间接近100%,通过top命令查看得知mysqld占用极高,问题锁定mysql。通常是由于SQL语句优化不到位造成的。
本教程主要通过使用show processlist;
命令解决问题。
操作步骤
1、登录mysql
运行命令
mysql -u root -p
然后输入密码,即可登录mysql,从而在提示符下输入命令
2、输入show processlist;命令
show processlist;命令可以查看当前正在执行的线程
运行命令
show processlist;
命令返回的具体参数的含义请自行百度,这里主要注意state字段中如果包含大量的Sending data、Waiting for tabls、或各种lock(锁),大概率就是因为这些SQL造成的数据库拥堵。
解决办法自然是优化对应的SQL,如希望更进一步,则需要开启查看慢查询日志。