如何在mysql中配置日志轮转策略


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

如何在mysql中配置日志轮转策略

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
}

说明:

盘古大模型 盘古大模型

华为云推出的一系列高性能人工智能大模型

盘古大模型 207 查看详情 盘古大模型
  • 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_binmax_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优化怎么样  # 典型网站建设案例  # 推广营销范文简短一点  # 福州网站优化最新报价  # 徐州抖音营销推广方式  # 句柄  # 新密码  # mysql  # 修改密码  # 如何在  # 几种  # 盘古  # 多字  # 配置文件  # ai  # 工具  # 操作系统  # go  # linux 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 发布小红书怎么屏蔽粉丝?屏蔽粉丝能看到吗?  传统曲艺莲花落的表演形式是  在XML中嵌入二进制数据(如图片)的最佳实践是什么? Base64编码与解析注意事项  处理含命名空间的XML文件 Power Query中的高级技巧  快手缓存清理方法  《土豆雅思》修改密码方法  mysql中外键约束如何使用_mysql FOREIGN KEY操作  谷歌学术论文搜索引擎 谷歌学术官网入口论坛永久链接  中大网校app做题记录清除方法  一点万象签到领积分指南  《tt语音》超级玩家开通方法  京东快递物流信息不更新怎么办_物流停滞原因与处理方法  如何在Python中安全地将环境变量转换为整数并满足Mypy类型检查  sublime怎么在文件中显示代码结构大纲_sublime符号列表功能  J*aScript文本高亮功能优化:解决多词匹配错误与精确分割策略  J*aScript对象中深度嵌套URL键的查找与更新策略  盲鳗善于分泌黏液猜猜主要用来做什么  HTML与J*aScript实现下拉菜单驱动的动态表格:构建交互式维修表单  《绝区零》2.3前瞻|直播|内容介绍  《王者荣耀世界》英雄获取攻略  如何在mysql中使用索引提示_mysql索引提示优化方法  mail.qq.com登录入口 QQ邮箱网页版直达  Go App Engine 项目结构与包管理深度指南  解决Windows上Composer PATH变量冲突导致的命令无法识别问题  Go语言中方法接收器的选择:值类型还是指针类型?  c++如何链接Boost库_c++准标准库的集成与使用  j*a中ArrayBlockingQueue的使用  Mac怎么关闭按键声音_Mac键盘打字音效设置  优化Asyncio嵌套函数调度:使用生产者-消费者模式实现并发流处理  《荔枝fm》导出文件教程  六级准考证号怎么查_四六级准考证查询入口官网  WooCommerce购物车:强制显示所有交叉销售商品教程  yandex网页版直接登录 yandex官方入口平台访问方法  J*aScript模拟悬停与点击:自动化网页动态元素交互指南  在VS Code中进行数据科学和机器学习开发  快递优选如何查优选物流_快递优选专属物流渠道查询与配送时效  掌握Go App Engine项目结构与GOPATH:包管理与导入实践  Win10输入法不见了怎么办 Win10找回语言栏图标教程  Go语言中方法与接收器:指针和值类型的调用机制详解  风车动漫官网首页入口登录 风车动漫在线观看正版地址  J*a中逻辑运算符如何使用_逻辑与或非的基础用法讲解  《图怪兽》退出登录方法  米侠浏览器插件无法启用怎么办 米侠浏览器扩展兼容性修复  大熊猫抓取竹子的“大拇指”其实是什么?蚂蚁庄园课堂今天答案最新11月30日  手机雨课堂网页版入口免登录 雨课堂网页版可点击直接进入  Linux如何优化系统启动流程_Linux启动项优化方案  申通快件单号查询平台 申通包裹物流动态跟踪  Magento 2 产品保存事件中安全更新属性的最佳实践  《猎聘》筛选猎头岗位方法  Lar*el怎么实现全文搜索_Lar*el Scout集成Algolia教程 

 2025-10-28

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.