运维MySQL

慢查询日志-基础知识

2017-04-27  本文已影响17人  温东

1、什么是慢查询日志

MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。

注意:开启慢查询会带来CPU损耗与日志记录的IO开销,所以我们要间断性的打开慢查询日志来查看Mysql运行状态

2、如何开启慢查询

修改MySQL的配置文件/etc/my.cnf,在[mysqld]后面加入:

low_query_log= on --开启日志;

slow_query_log_file

= /data/f/mysql_slow_cw.log --记录日志的log文件;注意:window上必须写绝对路径,比如D:/wamp/bin/mysql/mysql5.5.16/data/show-slow.log

long_query_time= 2 --最长查询的秒数;

log-queries-not-using-indexes--表示记录没有使用索引的查询

log_output='FILE':日志存储方式。log_output='FILE'表示将日志存入文件,默认值是'FILE'。log_output='TABLE'表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中。MySQL数据库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output='FILE,TABLE'。日志记录到系统的专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查询日志,又需要能够获得更高的系统性能,那么建议优先记录到文件。

上一篇下一篇

猜你喜欢

热点阅读