新闻中心
如何在mysql中配置日志轮转策略
MySQL日志轮转需结合logrotate工具管理错误日志、通用日志和慢查询日志,通过配置daily轮转、保留7份备份并压缩,使用kill -USR1通知MySQL重载日志文件,而二进制日志由max_binlog_size和binlog_expire_logs_seconds等内部参数自动控制切换与清理,避免使用logrotate直接处理以保证一致性。

MySQL 本身不直接提供日志轮转(log rotation)功能,需要结合操作系统级别的工具(如 logrotate)来实现。常见的 MySQL 日志包括:错误日志(error log)、通用查询日志(general log)、慢查询日志(slow query log)和二进制日志(binary log)。其中,错误日志、通用日志和慢查询日志可以通过 logrotate 进行管理,而二进制日志通常通过 MySQL 内部配置控制。
1. 配置 logrotate 管理 MySQL 日志文件
在 Linux 系统中,logrotate 是最常用的日志轮转工具。你可以为 MySQL 创建一个专属的配置文件:
编辑配置文件:
/etc/logrotate.d/mysql
添加以下内容(根据实际路径调整):
/var/log/mysql/error.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 640 mysql mysql
postrotate
test ! -f /var/run/mysqld/mysqld.pid || kill -USR1 `cat /var/run/mysqld/mysqld.pid`
endscript
}
说明:
Krisp
AI噪音消除工具
135
查看详情
- daily:每天轮转一次
- rotate 7:保留最近 7 个备份
- compress:轮转后压缩旧日志
- create 640 mysql mysql:创建新日志文件并设置权限和属主
- postrotate ... endscript:执行命令通知 MySQL 重新打开日志文件。使用 kill -USR1 可让 MySQL 重新打开日志句柄(适用于错误日志)
注意:
如果启用了通用日志或慢查询日志,并且它们也写入文件,可以按相同方式添加到 logrotate 配置中,例如:
/var/log/mysql/general.log
/var/log/mysql/slow.log {
daily
rotate 5
compress
missingok
notifempty
create 640 mysql mysql
postrotate
test ! -f /var/run/mysqld/mysqld.pid || kill -USR1 `cat /var/run/mysqld/mysqld.pid`
endscript
}
2. MySQL 内部配置支持日志轮转
确保 MySQL 配置文件(通常是 /etc/mysql/my.cnf 或 /etc/my.cnf)中启用了相关日志并指定了文件路径:
[mysqld] # 错误日志 log_error = /var/log/mysql/error.log <h1>启用通用日志(可选)</h1><p>general_log = ON general_log_file = /var/log/mysql/general.log</p><h1>慢查询日志</h1><p>slow_query_log = ON slow_query_log_file = /var/log/mysql/slow.log long_query_time = 2</p><h1>二进制日志(自动按大小切换,不依赖 logrotate)</h1><p>log_bin = /var/log/mysql/mysql-bin.log max_binlog_size = 100M expire_logs_days = 7</p>
说明:
- log_bin 和 max_binlog_size 控制二进制日志的大小和自动切换
- expire_logs_days 已弃用,推荐使用 binlog_expire_logs_seconds(MySQL 8.0+)
- 二进制日志不要用 logrotate 直接处理,否则可能破坏一致性
3. 测试与验证
测试 logrotate 配置是否正确:
logrotate -d /etc/logrotate.d/mysql (dry-run 模式)
手动强制执行一次轮转:
logrotate /etc/logrotate.d/mysql
检查日志目录是否生成了 .1、.gz 文件,并确认新日志可写入。
查看 MySQL 是否正常继续写日志:
tail -f /var/log/mysql/error.log
基本上就这些。合理配置 logrotate + MySQL 内部参数,能有效防止日志文件无限增长。
以上就是如何在mysql中配置日志轮转策略的详细内容,更多请关注其它相关文章!
# 操作步骤
# 南宁seo找哪家
# 曲靖营销推广团队名单大全
# 河北农业建设信息网站
# 东莞seo优化推荐
# 营销推广情话文案简短
# 低价网站建设与运营
# 王益区公司网站建设
# 吴优网站推广
# 朱婷高考关键词排名查询
# 山西seo网站内容优化
# 推荐使用
# 句柄
# mysql
# 如何在
# 全攻略
# 多个
# 镜像
# 离线
# 配置文件
# ai
# 工具
# 操作系统
# go
# linux
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
sublime怎么进行远程开发编辑_配置rsub/rmate实现sublime编辑服务器文件
html5 app怎么运行环境_配html5 app运行环境【教程】
支付宝碰一碰设备是REDMI手机吗 博主拆机辟谣:处理器、内存都不一样
如何创建没有密码的Windows本地账户_跳过微软账户登录的技巧【教程】
快手网页版在线登录 快手网页版官网入口快速访问
哔哩哔哩忘记密码了怎么找回_哔哩哔哩密码找回方法
Adobe PDF表单中利用J*aScript解析与格式化日期组件的教程
PHP中高效并行检查多链接状态的教程
win11如何加载ICC颜色配置文件 Win11校色文件安装与显示器色彩管理【指南】
抖音未来赚钱的新趋势 2025年值得关注的变现风口分析
Typer应用中动态命令行参数的解析与处理
晋江读书网页版在线登录 晋江读书电脑版官网
LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别
HTML转PPT成品工具有哪些?HTML网页转PPT成品工具大全
PostgreSQL海量数据高效导入策略:Python与Django实践指南
C++ typeid如何获取类型信息_C++ RTTI运行时类型识别用法
html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】
抖音网页版怎么|直播|_抖音网页版开播操作指南
J*aScript中localStorage数据的获取、清洗与格式化教程
荒野行动PC版怎么注册_荒野行动PC版账号注册详细流程图文教程
小米Civi 4录制视频过暗_小米Civi 4亮度优化
Lar*el头像管理:图片缩放与旧文件删除的最佳实践
使用Pandas转换并合并DataFrame:多列映射至统一结构
vivo手机参数配置怎么增强信号_vivo手机参数配置信号增强方法
蓝湖怎样用切图标注提对接效率_蓝湖用切图标注提对接效率【设计对接】
mcjs网页版在线存档 mcjs云存档登录入口
Win10怎么制作U盘启动盘 Win10系统安装U盘制作教程【详解】
CSS Grid如何控制元素对齐_align-items与justify-items组合使用
php源码怎么在电脑上测试_电脑测试php源码方法步骤【教程】
小米14应用无法联网原因分析_小米14网络权限修复
163邮箱官方主页登录 直达网易邮箱登录核心页面
c++如何使用chrono库处理时间_c++标准库时间与日期操作
优化 Python 函数中的条件逻辑:解决 if-else 嵌套与参数选择问题
如何仅使用CSS更改登录界面背景图像图标的颜色
百度浏览器字体显示异常偏小_百度浏览器字体渲染修复方案
Word2013如何插入视频和音频媒体_Word2013媒体插入的多媒体支持
必由学官网快捷入口 必由学网页版在线学习平台
电脑安装程序提示“错误1722”怎么办_Windows Installer服务问题解决【教程】
微博网页版首页入口 微博电脑端官网登录链接
双系统安装时,如何设置默认启动系统? msconfig命令了解一下!
Go语言中JSON数据解析与字段访问教程
如何在J*a中使用Locale处理多语言环境
c++ 命名空间怎么用 c++ namespace使用指南
Go与Ruby之间实现AES加密互通:CFB模式下的密钥长度匹配策略
C#使用XPath查询节点时出错? 常见语法错误与调试技巧
我的世界官方游戏入口 我的世界官网平台直达链接
如何使用纯J*aScript判断Input元素是否在特定类容器内
妖精漫画网页版登录入口免费_妖精漫画官网主页直接阅读漫画
谷歌邮箱网页版官方页面入口 谷歌邮箱网页端快速访问
谷歌浏览器无痕模式怎么开 Chrome开启无痕浏览设置方法【教程】


2025-10-28
浏览次数:次
返回列表