🌦️广州毛毛雨 · 2026年10月15日24~32℃北京 26/12℃上海 24/17℃广州 32/24℃深圳 30/24℃杭州 25/18℃成都 24/18℃全国天气 »登录
海量收录内容 16分类频道
首页 / 资讯 / 正文

解决宝塔面板MySQL数据库产生mysql-bin.00000X文件导致占用磁盘空间过大的问题

李洋博客 2025-06-09 09:09 1 阅读 1303 字

在 CentOS 系统下使用宝塔面板时,出现大量 mysql-bin.000143 等文件是 MySQL 的二进制日志(binlog),主要用于数据库的主从复制、数据恢复和操作审计。以下是详细说明及解决方案:

MySQL 默认开启 binlog 功能,记录所有数据库更改操作(如 INSERT、UPDATE、DELETE),每个操作生成一个日志文件(如 mysql-bin.000001)。

文件命名规则为 mysql-bin. + 6 位数字序号(如 mysql-bin.000143),序号随日志轮换递增。

宝塔安装 MySQL 时会自动启用 binlog,并默认保留 10 天的日志(通过参数 expire_logs_days=10 控制)。

日志存储路径为 /www/server/data/,频繁的数据库操作会导致日志文件快速积累并占用磁盘空间。

可以关闭或限制日志生成,但需根据实际需求决定:

无需主从复制或数据恢复:可完全关闭 binlog 以节省磁盘空间。

需保留日志但减少占用:可缩短日志保留时间(如改为保留 3 天)。

使用主从复制:关闭 binlog 会导致复制中断,需谨慎操作。

方法 1:完全关闭 binlog(推荐无需日志的用户)

修改 MySQL 配置文件 通过宝塔面板进入 MySQL 设置 → 配置文件,找到以下参数并注释(行首加 #):

重启 MySQL 服务 在宝塔面板的 MySQL 管理页面点击“重启”,或执行命令:

也可以在设置界面最下面找到【二进制日志】如图,关闭二进制日志即可(跟修改配置文件一样)。

方法 2:自动清理日志(推荐保留日志但限制大小的用户)

缩短日志保留时间 在 MySQL 配置文件的 [mysqld] 段添加(宝塔面板可直接修改):

MySQL 8.0+ 用户需改用:binlog_expire_logs_seconds = 259200(3 天=259200秒)。

重启 MySQL 生效 修改后需重启服务(同方法 1)。

通过宝塔面板操作 进入 文件管理 → /www/server/data/,勾选 mysql-bin.00* 文件直接删除(需先停止 MySQL 服务)。

命令删除(需重启 MySQL)

主从复制环境: 若关闭 binlog 或执行 RESET MASTER,需确保从库已同步数据,否则会导致复制中断。

操作前备份: 修改配置或删除文件前,建议通过宝塔创建 服务器快照 或 数据库备份。

验证生效: 重启 MySQL 后执行以下命令确认配置:

临时解决磁盘占满:立即用 RESET MASTER 或手动删除文件释放空间。

无需日志 → 完全关闭 binlog(方法 1)。

需日志但减少占用 → 缩短保留时间至 3~7 天(方法 2)。

至此此文关于mysql binlog占用大量磁盘空间的解决方法的文章就介绍到这了,如有其他问题留言反馈,一起探讨解决方案!

CentOS 系统永久修改 DNS 的推荐方案汇总(2025年最新版)

Linux二进制安装/快速安装/编译安装区别详解:一篇文章解决90%环境部署问题

↑