mysql 关闭慢日志_MySQL慢日志线上问题分析及功能优化

MySQL慢日志(slow log)是MySQL DBA及其他开发、运维人员需经常关注的一类信息。使用慢日志可找出执行时间较长或未走索引等SQL语句,为进行系统调优提供依据。本文结合线上案例分析如何正确设置MySQL慢日志参数和使用慢日志功能,并介绍网易云RDS(InnoSQL)对MySQL慢日志功能增强。

MySQL参数组功能

网易云RDS实例提供了参数组管理功能,可通过参数管理界面查看绝大部分常用的MySQL系统参数,用户可以了解当前运行值和建议值,如下所示:

16dc1b952c1c67afe04d4df31067006d.png

用户还可通过参数管理页面对所列的参数进行修改,点击“修改参数”按钮在线设置,点击“保存修改”即可一键完成MySQL主从节点的参数修改,如下图:

6b299589a9af64a1e24843757da46995.png

查看参数管理界面不难发现,与慢查询相关的参数较多,这些参数是如何起作用的呢,相互关系又是如何,满足什么条件的SQL语句才会记录到慢日志中?只有了解了这些才能更好地利用慢日志进行系统调优和问题定位。我们以一个线上案例为依托来介绍如何正确配置慢日志参数:用户报告他们使用的多个RDS 5.7版本实例慢日志异常,明明执行了一分多钟的SQL语句,却没有记录到慢日志中。还提供了用于复现的SQL语句。

慢日志参数正确配置姿势

首先,我们需确认该实例是否开启了慢日志功能,默认情况下,MySQL慢日志功能是关闭的。慢日志开关参数为slow_query_log,可在mysqld启动命令行或配置文件中显式指定,若指定slow_query_log=1或不指定值,则表示开启慢日志,赋值为0表示关闭。用户可以在运行时动态开启和关闭。网易云RDS实例默认开启慢日志功能,我们确认了该用户未关闭实例的慢日志开关。

接下来,需确认慢日志记录位置,MySQL使用log_output参数指定以文件(FILE)还是表(TABLE)的方式来保存慢日志,需要强调的是,仅指定log_output而将slow_query_log置为0并不会记录慢日志,也就是说slow_query_log才是慢日志的开关。若使用文件形式记录慢日志,则可通过slow_query_log_file指定文件名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值