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

文摘   科技   2024-05-21 10:42   福建  

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。


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

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

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

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


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

名称版本
操作系统版本BigCloud Enterprise Linux 8
数据库版本GreatSQL-8.0.32-25

用户问题

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

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 |


Enjoy GreatSQL :)

<往 期 推 荐>
Percona Toolkit 神器全攻略
GreatSQL5.7数据库DROP表后无法重建
GreatSQL社区月报 | 2024.04
GreatSQL的sp中添加新的sp_instr引入的bug解析
Slave SQL线程与PXB FTWRL死锁问题分析

《用三分钟学会一个MySQL知识》

<关于 GreatSQL>

GreatSQL数据库是一款开源免费数据库,可在普通硬件上满足金融级应用场景,具有高可用、高性能、高兼容、高安全等特性,可作为MySQL或Percona Server for MySQL的理想可选替换。
💻社区官网: https://greatsql.cn/ 
Gitee  https://gitee.com/GreatSQL/GreatSQL
GitHub  https://github.com/GreatSQL/

🆙BiliBili  : https://space.bilibili.com/1363850082

(对文章有疑问或见解可去社区官网提出哦~)

加入微信交流群
加入QQ交流群

想看更多技术好文,点个"在看"吧!

GreatSQL社区
专注GreatSQL数据库及相关产品
 最新文章