irpas技术客

Mysql查看慢查询日志_Chen_leilei_mysql慢查询日志怎么看

未知 3280

我们在工作中经常会遇到执行很慢的sql语句,今天我们来看一下慢查询日志

查看通用日志

show variables like ‘%general%’;

默认通用日志是关闭的,

开启通用日志查询: set global general_log=on;

关闭通用日志查询: set global general_log=off;

查看当前慢查询日志输出的格式,可以是FILE(存储在数数据库的数据文件中的hostname.log),也可以是TABLE(存储在数据库中的mysql.general_log)

show variables like ‘%log_output%’

设置通用日志输出为表方式: set global log_output=’TABLE’;

设置通用日志输出为文件方式: set global log_output=’FILE’;

如果想永久生效,需要在my.ini中配置

general_log=1 #为1表示开启通用日志查询,值为0表示关闭通用日志查询

log_output=FILE,TABLE#设置通用日志的输出格式为文件和表

mysql慢查询日志是mysql提供记录的一种日志记录,用来记录mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time的sql值的sql则会被记录到慢查询日志中,日志可以写在表中也可以写在文件中,如果性能要求比较高的话,建议写在文件里,默认情况下MySQL数据库是不开启慢查询日志的,long_query_time的默认值为10(即10秒,通常设置为1秒),即运行10秒以上的语句是慢查询语句。

问题:如何查看当前慢查询日志的开启情况?

????????

show variables like ‘%quer%’;

?主要关注的参数:

1.slow_query_log 慢查询日志是否开启,默认为off??

开启慢查询日志set global slow_query_log='ON',

想要永久有效需要在my.ini中配置? ? slow_query_log = ON

2.slow_query_log_file??的值是记录的慢查询日志到文件中(注意:默认名为主机名.log,慢查询日志是否写入指定文件中,需要指定慢查询的输出日志格式为文件,相关命令为:show variables like ‘%log_output%’;去查看输出的格式)。

(3)long_query_time?指定了慢查询的阈值,即如果执行语句的时间超过该阈值则为慢查询语句,默认值为10秒。

可以在my.ini中设置指定慢查询的阈值,? long_query_time = 阈值

(4)log_queries_not_using_indexes?如果值设置为ON,则会记录所有没有利用索引的查询(注意:如果只是将log_queries_not_using_indexes设置为ON,而将slow_query_log设置为OFF,此时该设置也不会生效,即该设置生效的前提是slow_query_log的值设置为ON),一般在性能调优的时候会暂时开启。

过命令:show variables like ‘%log_output%’;

通通过log_output的值可以查看到输出的格式,上面的值为TABLE。当然,我们也可以设置输出的格式为文本,或者同时记录文本和数据库表中,设置的命令如下:

#慢查询日志输出到表中(即mysql.slow_log)

set globallog_output=’TABLE’;

#慢查询日志仅输出到文本中(即:slow_query_log_file指定的文件)

set global log_output=’FILE’;

设置 slow_query_log_file输出位置

set?slow_query_log_file = '路径.log'

#慢查询日志同时输出到文本和表中

set global log_output=’FILE,TABLE’;

表格式?

文件格式

?可以看到,不管是表还是文件,都具体记录了:是那条语句导致慢查询(sql_text),该慢查询语句的查询时间(query_time),锁表时间(Lock_time),以及扫描过的行数(rows_examined)等信息。

那我们如何查看慢查询的个数呢?

在MySQL中有一个变量专门记录当前慢查询语句的个数:

输入命令:show global status like ‘%slow%’;


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #mysql慢查询日志怎么看 #variables #like #set #global