mysq记录慢查询

1.方法一:修改my.cnf文件:
vim /etc/my.cnf

long_query_time=5
log_slow_queries=ON
log_output=TABLE

long_query_time设置查询sql时间超过5s的记录为慢查询,默认为10s,查看这一参数的现有值:
Show variables like “long_query_time”;

log_slow_queries设置开启记录慢查询,查看这一参数的现有值:
show variables like ‘log_slow_queries’;

log_output 慢查询sql记录到什么加粗样式地方,有TABLE和FILE,俩个同时设置用,号隔开,如果设置FILE则要设置文件路径(slow-query-log-file=/var/run/mysqld/mysqld-slow.log,查看这一参数的现有值:
show VARIABLES like “slow_query_log_file”;

然后重启mysql生效。

方法二:直接在navicat或命令行用命令修改:
show variables like ‘log_slow_queries’;
show variables like ‘log_queries_not_using_indexes’;
set global log_output=‘TABLE’; – 输出到表

set global log_slow_queries=1; – 打开慢查询sql记录slow_log, 执行成功的: 慢查询语句和未使用索引的语句

set long_query_time=1; – 慢查询时间限制(秒)

set global log_queries_not_using_indexes=OFF; – 记录未使用索引的sql语句

show VARIABLES like “slow_query_log_file”;

3.查看记录的慢sql:
如果使用的是TABLE模式,则慢sql会记录在库名为mysql表名为slow_log的表中:
查询语句:

select * from mysql.slow_log where db = 'wesign' order by 1 desc;

db为库名

4.使用mysqldumpslow工具(mysql自带)来分析慢sql日志:
mysqldumpslow -s t -t 10 /var/run/mysqld/mysqld-slow.log
返回耗费时间最长的10条数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值