mariadb 开启慢查询日志

一. 简介

    开启慢查询日志,可以让mysql或者mariadb记录执行时超过指定时间的sql语句。

二. 开启慢查询日志设置

1. 在mariadb的配置文件/etc/my.cnf(centos系统是该文件,其他系统请自行寻找mysql或mariadb的配置文件)中的[mysqld]下面添加以下语句。重启数据库即可。

[mysqld]
slow_query_log = 1  # 开启慢日志查询
long_query_time = 2  # 把查询时间超过2秒的定义为慢查询,也可以设置为1秒
log_output = 'TABLE'  # 保存日志到mysql数据的slow_log表
#slow_query_log_file=/var/log/mariadb/slow_query_log.txt  #将日志保存带本地文件中

2. 参数说明:

slow_query_log:表示是否开启慢查询日志。

long_query_time:最长运行时间。表示运行超过该值的sql语句都会被定义为慢查询语句。该值默认为10秒。

log_output:表示当慢查询日志开启后,以哪种方式存放,log_output可以设置为4种值,“FILE”、“TABLE”、“FILE,TABLE”、“NONE”。

    “FILE“:表示慢查询日志存放在指定的文件中。

    “TABLE”:表示慢查询日志存放在mysql库中的slow_log表中,如下图所示。一般建议设置为该值。

    “FILE,TABLE”:表示将满查询日志同时存放于指定的文件盒slow_log表中。但是这样的设置有可能会造成一定的IO压力。

    “NONE”:表示不记录查询日志,即使slow_query_log设置为ON,如果log_ouput设置为NONE,也不会记录慢查询日志。

slow_query_log_file:当log_output设置为使用文件记录慢查询日志时,也就是设置为“FILE”或者“FILE,TABLE”时,该参数指定将慢查询日志存储到哪个日志文件。默认的慢查询日志文件名为“主机名-slow.log”,其位置为datadir参数所对应的目录位置。

3. 查看配置是否成功

数据库重启后,进入mysql,输入以下命令查看慢查询日志是否开启成功。

show variables like '%quer%';

三、测试

执行一条超过设置时间的sql语句:

MariaDB [(none)]> select sleep(3);

然后在数据库的mysql库中的slow_log表可以看到相应的记录

 

其他更详细的关于mysql慢查询日志见:http://www.zsythink.net/archives/1260

转载于:https://my.oschina.net/amui/blog/1544452

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值