写点什么

官答|slow_query_log_file 实例内存中变量与配置文件设置的不一致

作者:GreatSQL
  • 2024-05-22
    福建
  • 本文字数:1284 字

    阅读完需:约 4 分钟

官答|slow_query_log_file实例内存中变量与配置文件设置的不一致

官答|slow_query_log_file 实例内存中变量与配置文件设置的不一致

官答栏目针对 GreatSQL 数据库中的问题,选取官方论坛和讨论群中的典型提问进行深入解答。内容涵盖数据库安装部署、配置优化、故障排查、性能测试等方面。


在文章中,我们不仅提供解决方案,还会结合实例深入剖析问题的成因,提升读者对 GreatSQL 数据库的理解能力。


如果你在管理、使用 GreatSQL 数据库时遇到棘手的技术难题,想系统地学习提高数据库技能,就来看看官答的文章吧。这里不仅可以找到可靠的解决方法,还能从中学习到数据库优化的经验和思路。


通过阅读官答的内容,可以全面地掌握 GreatSQL 数据库管理的技能,熟练应对各种故障情况。快来关注官答栏目,与我们一起成长!




本问题是来自论坛,用户使用数据库环境大概介绍如下:


用户问题

用户提供的问题信息内容如下:


1、my.cnf 配置文件慢慢日志文件路径相关配置:


slow_query_log_file = /data/GreatSQL/logs/slow.log


2、但是在内存中查询到到slow_query_log_file变量却与配置不一致


mysqladmin var |grep slow_query_log_file| slow_query_log_file  | /data/GreatSQL/logs/bclinux01.log.000001
复制代码

解答用户疑问

1、磁盘上(/data/GreatSQL 目录下)的生成的慢日志文件名,为什么和内存中查询到变量与配置文件中设置的不一致呢?


抛出疑问:是不是曾经修改过 binlog 配置,误操作把 slow_query_log_file 给修改了?


这个问题,当配置文件写的是slow_query_log_file = /data/GreatSQL/logs/slow.log


内存中show global variables like '%slow%';显示/data/GreatSQL/logs/bclinux01.log


只有通过 SQL 指令set global slow_query_log_file='/data/GreatSQL/logs/bclinux01.log'可复现。


2、如果把配置文件中slow_query_log_file = /data/GreatSQL/logs/slow.log配置信息注释,磁盘上的文件名依然是 bclinux01.log.000001


my.cnf 配置文件中注释slow_query_log_file = /data/GreatSQL/logs/slow.log该参数后,若没有重启数据库实例,对于之前已经set global slow_query_log_file修改参数,不对其有任何参数变量影响;如果重启数据库实例了,slow log 文件名更新为主机名-slow.log


用户疑问 slow log 日志为什么会带有 0000001,一直产生多个 slow.log.xxxxxx 文件,原因是配置以下参数,当配置了以下参数,数据库会轮询产生 slow.log.xxxxxx 文件


max_slowlog_size = [0 - 1073741824]max_slowlog_files = [0 - 102400]
复制代码


  • max_slowlog_size


当日志的大小达到设置值时,服务器将轮询慢日志。缺省值为 0。如果限制大小并且启用了该特性,服务器将慢日志文件重命名为 slow_query_log_file.000001


  • max_slowlog_files


该变量限制慢日志文件的总量,并与 max_slowlog_size 一起使用


服务器创建并添加慢日志,直到达到范围的上限。当达到最大值时,服务器将创建一个序列号较高的新慢日志文件,并删除序列号最低的日志文件,以保持在该范围内定义的总量。

解决用户问题

通过set global slow_query_log_file = '/data/GreatSQL/slow.log'设置后,再查看内存的数据,显示的就正确了:


greatsql> show global variables like '%slow%';| slow_query_log_file   | /data/GreatSQL/slow.log.000001 |
复制代码


发布于: 刚刚阅读数: 5
用户头像

GreatSQL

关注

GreatSQL社区 2023-01-31 加入

GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。 社区:https://greatsql.cn/ Gitee: https://gitee.com/GreatSQL/GreatSQL

评论

发布
暂无评论
官答|slow_query_log_file实例内存中变量与配置文件设置的不一致_GreatSQL_InfoQ写作社区