一、关于慢查询设置和分析
查找慢查询参数
mysql> show variables like 'long%';+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 10.000000 |
+-----------------+----------+
mysql> show variables like 'slow%';
+---------------------+--------------------------------+
| Variable_name | Value |
+---------------------+--------------------------------+
| slow_launch_time | 2 |
| slow_query_log | OFF |
| slow_query_log_file | /var/lib/mysql/ubuntu-slow.log |
+---------------------+--------------------------------+
mysql> show variables like '%queries%';
+-------------------------------+-------+
| Variable_name | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF |
| log_slow_queries | ON |
+-------------------------------+-------+
设置慢查询参数(作者建议设置为1s)
mysql> set global long_query_time=1;
mysql> set global slow_query_log='ON';
有些朋友除了设置以上的还会将查询中未带索引的语句也设置为on(即log_queries_not_using_indexes),大家可以根据当前的需求来确定是否需要增加。
这样大家就可以根据相应的日志去进行优化了,当然以上这块还是主要针对mysql语句进行优化
二、show processlist、show full processlist查看和分析
show processlist:主要有以下几列
+----------+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----------+------+-----------+------+---------+------+-------+------------------+
除了一中进行一个日志的优化外,当然show processlist也是一个方式,如果mysql进程一直处于一个较高的负载的时候,show processlist也是一个不错的选择,详细的参数简介我就不介绍了,相信网上还是有很多的资料的