一、关于慢查询设置和分析
查找慢查询参数
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也是一个不错的选择,详细的参数简介我就不介绍了,相信网上还是有很多的资料的