1)删除所有日志

1)删除所有日志

我在 Windows 8 上运行 MySQL 服务器。MySQL 目录需要 118 GB 的空间,并且根据文件系统,有很多 1 GB 的 mysql-bin 文件多年没有修改过。

我的所有数据库加起来都不够大,无法保证 118 GB 的占用空间,所以我怀疑服务器未能删除一些旧的 bin 文件。

我怎样才能仅删除所有现有数据库不再使用的 mysql-bin 文件?

答案1

您应该检查的第一件事是二进制日志记录是否仍然启用

mysql> SHOW BINARY LOGS;
mysql> SHOW MASTER STATUS;

这两个命令将为您提供它看到的二进制日志列表以及当前二进制日志;

我无法告诉您如何按数据库使用情况删除日志,但我可以告诉您其他三种方法:

1)删除所有日志

冲洗每个二进制日志的命令是

mysql> RESET MASTER;

就这样。

2)按BINLOG名称删除日志

如果您看到 118 个二进制日志,则可以选择要删除的日志。例如,如果二进制日志的形式为mysql-bin.000118,则可以使用以下命令删除最多 100 个日志

mysql> PURGE BINARY LOGS TO 'mysql-bin.000100`';

3)按日期和时间删除日志

假设您想删除所有日志但保留 5 天前午夜以来的所有内容。运行以下命令:

PURGE BINARY LOGS BEFORE DATE(NOW()) + INTERVAL 0 SECOND - INTERVAL 5 DAY;

或者

PURGE BINARY LOGS BEFORE '2014-07-11 00:00:00';

这将让 mysqld 确定要删除哪些二进制日志。

试一试 !!!

相关内容