MySQL日志轮转依赖logrotate工具,需配置其定期轮转错误日志、慢查询日志等,通过kill -USR1信号通知MySQL重新打开日志文件,确保日志管理有效且不占用过多磁盘空间。

MySQL 的日志轮转(Log Rotation)并不是由 MySQL 自身直接完成的,而是通过操作系统层面的工具如 logrotate 来实现。合理配置日志轮转可以防止日志文件过大占用磁盘空间,并便于日志归档和管理。
在配置轮转前,先确认 MySQL 启用了哪些日志以及它们的存储路径。常见的日志包括:
查看当前日志配置:
mysql> SHOW VARIABLES LIKE '%log%';
重点关注以下变量:
log_error:错误日志路径slow_query_log_file:慢查询日志路径general_log_file:通用日志路径例如输出可能为:
+---------------------+----------------------------------+ | Variable_name | Value | +---------------------+----------------------------------+ | log_error | /var/log/mysql/error.log | | slow_query_log_file | /var/log/mysql/slow.log | | general_log_file | /var/log/mysql/general.log | +---------------------+----------------------------------+
大多数 Linux 发行版默认已安装 logrotate。如果没有,请使用以下命令安装:
yum install logrotate # CentOS/RHEL apt-get install logrotate # Ubuntu/Debian
创建 MySQL 专属的 logrotate 配置文件:
/etc/logrotate.d/mysql
写入以下内容(根据实际路径调整):
万相营造
阿里妈妈推出的AI电商营销工具
168
查看详情
/var/log/mysql/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 640 mysql mysql
sharedscript
s
postrotate
if [ -f "/var/run/mysqld/mysqld.pid" ]; then
kill -USR1 `cat /var/run/mysqld/mysqld.pid`
fi
endscript
}
参数说明:
注意:kill -USR1 会触发 MySQL 重新打开日志文件句柄,确保写入新文件。
确保日志目录对 mysql 用户可写:
chown -R mysql:mysql /var/log/mysql/ chmod 750 /var/log/mysql/
如果日志路径不在标准位置,请同步修改 SELinux 或 AppArmor 规则(如适用)。
使用以下命令测试配置是否正确:
logrotate -d /etc/logrotate.conf # 调试模式查看执行流程 logrotate -f /etc/logrotate.d/mysql # 强制执行一次轮转测试
检查日志目录中是否生成了类似 error.log.1 或 slow.log.1.gz 的文件。
查看系统日志确认无报错:
tail /var/log/syslog | grep logrotate # 或 tail /var/log/messages | grep logrotate
SET GLOBAL general_log = 'OFF';
SET GLOBAL long_query_time = 2;
/etc/my.cnf 持久化:[mysqld] slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log log_error = /var/log/mysql/error.log # general_log = 0 (默认关闭)
基本上就这些。MySQL 日志轮转依赖外部工具管理,关键是配置好 logrotate 并发送信号让 mysqld 重新加载日志句柄。只要路径正确、权限到位、信号触发正常,就能稳定运行。
以上就是如何在mysql中配置日志轮转_mysql日志轮转安装配置的详细内容,更多请关注其它相关文章!
相关文章:
在Typer应用中优雅地处理和重组任意命令行参数
淘宝支付提示失败如何解决 淘宝支付流程优化方法
sublime如何优雅地处理行尾空格_sublime自动清理多余空白字符配置
AO3网页版最新入口合集 Archive of Our Own在线访问指南
Golang如何使用new_Go new分配内存机制讲解
mysql如何分析事务日志_mysql事务日志分析方法
优化LangChain文档加载与ChromaDB集成:解决多文档处理与分块问题
J*aScript设计模式实践_j*ascript代码优化
Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法
Win10怎么制作U盘启动盘 Win10系统安装U盘制作教程【详解】
html两个JS只运行一个怎么办_让双JS在html中都运行方法【技巧】
c++中的const_cast和reinterpret_cast怎么用_c++四种类型转换
黑猫投诉统一入口官网 消费者权益保护投诉平台
腾讯QQ邮箱登录入口_QQ邮箱官方网站使用地址
初次安装JDK时环境变量如何正确配置_J*A_HOME与PATH设置规则讲解
Mac怎么使用表情符号_Mac Emoji快捷键面板
漫蛙2(台版)官方入口地址 漫蛙2(台版)正版漫画网页端
谷歌google账号注册详细步骤 谷歌账号注册官方教程
PHP URL参数传递与500错误调试指南
解决macOS上安装pyhdf时‘hdf.h’文件缺失的编译错误
LINUX怎么设置定时任务_LINUX crontab配置教程
基于多条件高效更新SQL表:利用CASE表达式优化业务逻辑
Yandex免登录网页版地址 Yandex搜索引擎官方访问入口
PDF怎么合并PDF并保持格式_PDF合并文件保持排版教程
处理Kafka消费者会话超时:深入理解消息处理语义与幂等性
QQ邮箱网页版邮箱入口 QQ邮箱官方登录平台
基于动态规划的房屋花卉种植最小成本算法详解
不同用户不同价格! 索尼开启账户个性化定价测试
谷歌浏览器浏览体验优化_谷歌浏览器新版直连永久可用提示
如何在 Excel Online 和 Google 表格中更改日期格式
《北京人工智能产业白皮书(2025)》发布:全年核心产值预计突破 4500 亿元
蛙漫2日版入口 WAMAN2(日版)无删减漫画官网链接
解决Rails应用中内容错位与Turbo警告:meta标签误用导致富文本渲染异常
AngularJS $http POST请求数据传递与Go后端接收实践
VS Code远程开发时如何处理文件权限问题
如何有效阻止外部脚本意外修改内联样式的高度属性
夸克浏览器网页版最新地址 夸克浏览器官方入口合集
mcjs网页版在线存档 mcjs云存档登录入口
2025俄罗斯Yandex最新入口 官方网站地址及浏览器下载指南
钉钉视频会议画面卡顿如何解决 钉钉会议画面优化方法
qq游戏网页版直接玩_qq游戏免下载快速入口
Yandex搜索引擎一键访问入口_俄罗斯Yandex官网免登录
mysql如何设置表访问权限_mysql表访问权限配置
谷歌浏览器最新官方入口链接 谷歌浏览器网页版官网导航
支付宝如何管理隐私设置_支付宝隐私保护的配置技巧
抖音未来赚钱的新趋势 2025年值得关注的变现风口分析
Win10双系统截图高效法 截屏快捷键速记【技巧】
J*a里如何使用forEach遍历Map_Map遍历方法说明
AI抖音网页版免费视频入口 AI抖音网页端最新视频实时观看
12306选座怎么选到特殊座位_12306特殊座位选择注意事项