查找和删除旧的mysql-bin文件

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

我所有的数据库组合都不足以保证118 GB的足迹,所以我怀疑服务器未能删除一些旧的bin文件。

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

你应该检查的第一件事是如果二进制日志logging仍然被启用

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

这两个命令将给你它看到的二进制日志列表和当前的二进制日志;

我无法告诉你如何通过数据库使用删除日志,但我可以告诉你三种其他的方式:

1)删除所有日志

软pipe每个二进制日志的命令是

 mysql> RESET MASTER; 

就这样。

2)删除LOGS BY BINLOG NAME

如果您看到118个二进制日志,则可以select要删除的日志。 例如,如果二进制日志的格式为mysql-bin.000118 ,则最多可以删除第100个日志

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

3)按date和时间删除日志

假设你想删除所有的日志,但是保留5天前的午夜。 运行这个:

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

要么

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

这将让mysqld找出哪些二进制日志要删除。

试一试 !!!