MySQL慢日志
Posted bulrush
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL慢日志相关的知识,希望对你有一定的参考价值。
1 /*查看慢SQL日志是否启用(on表示启用):*/ 2 show variables like ‘slow_query_log‘; 3 /*开启慢SQL日志查询*/ 4 set global slow_query_log = 1; 5 6 /*查询慢日志在哪里*/ 7 show variables like ‘slow_query_log_file‘; 8 9 show variables like ‘long_query_time‘; 10 select sleep(12); 11 12 13 /* 在my.ini文件中进行修改 14 修改以下参数,需要重新启动数据库服务才会生效。 15 -- 是否开启慢查询日志 16 slow_query_log=1 17 -- 指定保存路径及文件名,默认为数据文件目录, 18 slow_query_log_file="bxg_mysql_slow.log" 19 -- 指定多少秒返回查询的结果为慢查询 20 long_query_time=1 21 -- 记录所有没有使用到索引的查询语句 22 log_queries_not_using_indexes=1 23 -- 记录那些由于查找了多于1000次而引发的慢查询 24 min_examined_row_limit=1000 25 -- 记录那些慢的optimize table,analyze table和alter table语句 26 log_slow_admin_statements=1 27 -- 记录由Slave所产生的慢查询 28 log_slow_slave_statements=1 29 datadir=C:/ProgramData/MySQL/MySQL Server 5.7\\Data -- 数据文件目录 30 */ 31 /* 32 命令行修改。但是重启后又归0了 33 set global slow_query_log=1; 34 set global slow_query_log_file=‘bxg_mysql_slow.log‘; 35 set long_query_time=1; 36 set global log_queries_not_using_indexes=1; 37 set global min_examined_row_limit=1000; 38 set global log_slow_admin_statements=1; 39 set global log_slow_slave_statements=1; 40 */
使用pt-query-digest工具去查看所产生的慢日志。
1:Windows下需要下载安装perl编译器,下载地址:http://pan.baidu.com/s/1i3GLKAp 我自己的网盘中也有一个。在“工具”文件夹下。 2:下载pt-query-digest工具 cmd找到MySQL的bin目录,然后输入下面的: curl -o pt-query-digest https://www.percona.com/get/pt-query-digest 3:使用 慢日志的地址。 perl pt-query-digest D:\\usr\\mysql5.7.25\\mysql-5.7.25-winx64\\data\\DESKTOP-S95JFMG-slow.log
以上是关于MySQL慢日志的主要内容,如果未能解决你的问题,请参考以下文章