没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
MySQL 慢日志(slow log)是 MySQL DBA 及其他开发、运维人员需经常关注的一类信息。使用慢日志可找出执行时间较长或未走索引等 SQL 语句,为进行系统调优提供依据。 本文将结合一个线上案例,分析如何正确设置 MySQL 慢日志参数和使用慢日志功能,并介绍下网易云 RDS 对 MySQL 慢日志功能的增强。 MySQL 参数组功能 网易云 RDS 实例提供了参数组管理功能,可通过参数管理界面查看绝大部分常用的 MySQL 系统参数,用户可了解当前运行值和建议值: 用户还可通过参数管理页面对所列的参数进行修改,点击 “修改参数” 按钮进行在线设置,点击 “保存修改”
资源推荐
资源详情
资源评论
MySQL的慢日志线上问题及优化方案的慢日志线上问题及优化方案
MySQL 慢日志(slow log)是 MySQL DBA 及其他开发、运维人员需经常关注的一类信息。使用慢日志可找出执行时间较长或未走索引等 SQL 语句,为进行系统调优提供依据。
本文将结合一个线上案例,分析如何正确设置 MySQL 慢日志参数和使用慢日志功能,并介绍下网易云 RDS 对 MySQL 慢日志功能的增强。
MySQL 参数组功能参数组功能
网易云 RDS 实例提供了参数组管理功能,可通过参数管理界面查看绝大部分常用的 MySQL 系统参数,用户可了解当前运行值和建议值:
用户还可通过参数管理页面对所列的参数进行修改,点击 “修改参数” 按钮进行在线设置,点击 “保存修改” 即可一键完成 MySQL 主从节点的参数修改:
查看参数管理界面不难发现,与慢查询相关的参数比较多,那么,这些参数都是如何起作用的呢,相互关系又是如何,满足什么条件的 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 指定文件名,如果用户没有显式指定 slow_query_log_file,则
MySQL 将其初始化为 host_name-slow.log,host_name 即为运行 mysqld 的主机名,慢日志文件默认位于 MySQL 数据目录。
网易云 RDS 实例不允许用户修改日志文件路径,但可以配置 log_output 参数,通过查询,确认该实例以文件方式记录慢日志,查看日志文件确认没有用户所述的 SQL 语句。
由于用户提供了复现语句,我们执行了其 SQL 语句,确实 1 分多钟才返回,通过 explain 命令发现其未走索引,扫描了较多的记录数,再次查看慢日志仍没有记录该 SQL 语句。
MySQL 会记录满足执行时间超过 long_query_time 秒,扫描记录数超过 min_examined_row_limit 行的 SQL 语句。
long_query_time 参数最小值和默认值分别为 1 和 10s,该参数可以精确到微秒(ms)。如果选择将慢日志记录到文件中,那么所记录的时间精确到微秒,如果记录到慢日志表
(mysql.slow_log)中,那么仅精确到秒,微秒部分被忽略。
网易云 RDS 实例允许用户设置这两个参数值,那么是不是用户调整了上述两个阈值,导致无法满足记录条件呢,进一步查询发现也不是问题原因所在。
资源评论
weixin_38611812
- 粉丝: 4
- 资源: 933
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于C语言的操作系统实验项目.zip
- (源码)基于C++的分布式设备配置文件管理系统.zip
- (源码)基于ESP8266和Arduino的HomeMatic水表读数系统.zip
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功