mysql优化-慢查询日志
是什么?
mysql提供的一种日志查询,用来记录在mysql中响应时间超过阈值的语句,具体指裕兴时间超过long_query_time的sql,则会被记录到慢查询日志中(如果时间正好相等,不会记录)。long_query_timne的默认值为10,即运行10秒以上的语句。
如何开启?
默认情况下,mysql数据库没有开启慢查询日志,需要我们手动设置这个参数。如果不是调优需要的话,一般不建议启动该参数,因为会带来一定的性能影响。慢查询日志支持将日志写入文件。
show VARIABLES like '%slow_query_log%';
显示出状态以及存储路径
开启
set global slow_query_log=on;
查看时间
show VARIABLES like '%long_query_time%';
设置后如果看不出变化,需要重新连接或新开一个会话才能看到修改值;只对当前数据库生效,如果重启后则会失效,如果要永久生效,必须修改配置文件my.cnf(其他系统变量也是如此),修改mysql.cnf文件,[mysqld]下增加或修改参数show_query_log和slow_query_log_file后,然后重启mysql服务器。例如:
slow_query_log=1;
slow_query_log_file=/wp-content/local/mysql/var/VM_0_13_centos-slow.log
long_query_time=3;
log_output=file
日志分析工具mysqldumpslow
看图