mysql日志轮转怎么做_日志管理方法
发布时间 - 2026-01-30 00:00:00 点击率:次MySQL日志轮转依赖logrotate工具与MySQL刷新机制协同实现,错误日志、慢查询日志等由logrotate按日归档压缩并用kill -USR1通知MySQL重开,binlog则由MySQL自身通过max_binlog_size和expire_logs_days控制。
MySQL日志轮转不是靠MySQL自身完成的,而是依赖Linux系统的logrotate工具配合MySQL的刷新机制来实现。核心在于:让日志文件按时归档、压缩、清理,同时确保MySQL继续写入新文件,不中断服务。
确认日志路径并启用对应日志
先检查MySQL当前使用的日志路径和开

- 登录MySQL执行:
SHOW VARIABLES LIKE 'log_error';、SHOW VARIABLES LIKE 'slow_query_log_file';、SHOW VARIABLES LIKE 'general_log_file'; - 确保配置文件(如
/etc/my.cnf或/etc/mysql/my.cnf)中已明确指定路径,例如:
[mysqld]
log_error = /var/log/mysql/error.log
slow_query_log = ON
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
修改后重启MySQL或执行SET GLOBAL slow_query_log = ON;(部分参数需重启才生效)。
配置logrotate规则
创建独立配置文件/etc/logrotate.d/mysql,内容示例:
/var/log/mysql/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 640 mysql adm
sharedscripts
postrotate
if [ -f /var/run/mysqld/mysqld.pid ]; then
kill -USR1 `cat /var/run/mysqld/mysqld.pid`
fi
endscript
}
说明:
-
daily:每天检查一次,满足条件即轮转;也可加size 500M作为补充触发条件(防单日暴增) -
postrotate中用kill -USR1通知MySQL重开错误日志和慢日志;若含通用日志或binlog,建议改用mysqladmin flush-logs更稳妥 -
create 640 mysql adm确保新日志权限正确,MySQL进程可写
处理二进制日志(binlog)的特殊方式
binlog不由logrotate管理,应交由MySQL自身控制:
- 在
[mysqld]段添加:log_bin = /var/log/mysql/mysql-bin(注意不带扩展名) - 设置
max_binlog_size = 100M限制单个文件大小 - 启用自动清理:
expire_logs_days = 7(MySQL 8.0+推荐用binlog_expire_logs_seconds = 604800) - 手动清理可用:
PURGE BINARY LOGS BEFORE '2025-12-16 00:00:00';
验证与日常维护
不要等磁盘报警才检查:
- 测试配置是否语法正确:
logrotate -d /etc/logrotate.d/mysql - 手动触发一次:
logrotate -f /etc/logrotate.d/mysql,然后检查/var/log/mysql/下是否有.log.1.gz等归档文件 - 定期运行:
du -sh /var/log/mysql,监控增长趋势 - 检查MySQL是否成功切换日志:查看新日志文件时间戳,或执行
SHOW BINARY LOGS;、SELECT @@log_error;
# mysql
# linux
# go
# 工具
# ai
# 配置文件
# linux系统
# red
# 2025
# if
# select
# Error
# var
# 重启
# 也可
# 扩展名
# 不带
# 来实现
# 则由
# 日常维护
# 新文件
# 按日
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
如何快速搭建高效WAP手机网站?
西安专业网站制作公司有哪些,陕西省建行官方网站?
高端企业智能建站程序:SEO优化与响应式模板定制开发
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
如何快速生成橙子建站落地页链接?
奇安信“盘古石”团队突破 iOS 26.1 提权
千库网官网入口推荐 千库网设计创意平台入口
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
如何在IIS中配置站点IP、端口及主机头?
如何在香港服务器上快速搭建免备案网站?
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
昵图网官网入口 昵图网素材平台官方入口
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
免费网站制作appp,免费制作app哪个平台好?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
js代码实现下拉菜单【推荐】
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
济南网站建设制作公司,室内设计网站一般都有哪些功能?
如何在IIS中新建站点并配置端口与物理路径?
linux写shell需要注意的问题(必看)
如何快速搭建二级域名独立网站?
EditPlus中的正则表达式实战(6)
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
高性能网站服务器部署指南:稳定运行与安全配置优化方案
如何在万网主机上快速搭建网站?
b2c电商网站制作流程,b2c水平综合的电商平台?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
JavaScript模板引擎Template.js使用详解
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
高防服务器租用指南:配置选择与快速部署攻略
微信小程序 canvas开发实例及注意事项
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
活动邀请函制作网站有哪些,活动邀请函文案?
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
微信小程序 input输入框控件详解及实例(多种示例)
Python图片处理进阶教程_Pillow滤镜与图像增强

