linux 中mysql查看慢日志
1、到mysql容器,先登录到数据库,查看是否开启
mysql -h 127.0.0.1 -uroot -p
SHOW VARIABLES LIKE 'slow_query_log';
2、如果没有开启,需要先开启
set global slow_query_log = 'ON';
3、查看慢日志文件
SHOW VARIABLES LIKE 'slow_query_log_file';
4、使用tail 命令查看慢日志文件
tail -f /var/lib/mysql/505d45429fda-slow.log
使用工具分析
mysqldumpslow:这是 MySQL 自带的一个工具,用于分析慢查询日志。常用的命令选项如下:
-s:用于指定排序方式,如 c(按照记录次数排序)、t(按照时间排序)、l(按照查询时间排序)、r(按照返回的记录数排序);加上 a 则表示相应的倒序,例如 -sc 表示按照记录次数降序排列。
-t:指定返回的记录条数,例如 -t 10 表示返回前 10 条数据。
-g:后面可以写一个正则匹配模式,用于筛选符合条件的 SQL 语句,大小写不敏感。例如,mysqldumpslow -s t -t 10 /var/log/mysql/mysql-slow.log 可以查询出耗时最长的前 10 条语句,并按查询时间排序