MySQL慢查询日志
关于MySQL的基本使用记录一下。
介绍:
开启慢查询日志后,设定一个阀值,会将超过这个阀值设定的时间的查询语句记录下来,默认是不开启的,在实际场景中也不建议开启,会影响性能,除了要测试调优的时候再开启。
日志位置:
var/lib/mysql/xxx-slow.log
开启方法:
--查看状态
SHOW VARIABLES LIKE '%slow_query_log%';
--开启 只对当前数据库有效,且重启之后会失效
SET GLOBAL slow_query_log = 1;
永久开启:
永久有效要在配置文件中设置,不过不建议这么做,影响性能
修改配置文件my.cnf,系统默认会给一个缺省的文件host_name-slow.log
slow_query_log=1
slow_query_log_file=/var/lib/mysql/xxx-slow.log
阀值:
--查看
SHOW VARIABLES LIKE 'long_query_time%';
--设置时间为3 关掉窗口再重开查看才能看到效果
SET GLOBAL long_query_time = 3;
可以使用命令修改,也可以在my.cnf参数里面修改。
long_query_time=3;
log_output=FILE
注意:运行时间正好等于阀值不会被记录,只有大于才会。
慢查询语句数量
SHOW GLOBAL STATUS LIKE '%Slow_queries%';
如下图,有一条语句被列为慢查询
查看日志文件
cd var/lib/mysql
cat xxx-slow.log
如下图,可以看到有一条差不多4秒的查询时间的SQL语句被捕获
mysql慢查询工具–mysqldumpslow
查询符号:
常用语句查询: