我在Windows 8上运行MySQL服务器.MySQL目录需要118 GB的空间,并且有很多1 GB的mysql-bin文件根据文件系统多年没有被修改。
我所有的数据库组合都不足以保证118 GB的足迹,所以我怀疑服务器未能删除一些旧的bin文件。
我怎样才能删除所有不再被现有数据库使用的mysql-bin文件?
你应该检查的第一件事是如果二进制日志logging仍然被启用
mysql> SHOW BINARY LOGS; mysql> SHOW MASTER STATUS;
这两个命令将给你它看到的二进制日志列表和当前的二进制日志;
我无法告诉你如何通过数据库使用删除日志,但我可以告诉你三种其他的方式:
软pipe每个二进制日志的命令是
mysql> RESET MASTER;
就这样。
如果您看到118个二进制日志,则可以select要删除的日志。 例如,如果二进制日志的格式为mysql-bin.000118 ,则最多可以删除第100个日志
mysql> PURGE BINARY LOGS TO 'mysql-bin.000100`';
假设你想删除所有的日志,但是保留5天前的午夜。 运行这个:
PURGE BINARY LOGS BEFORE DATE(NOW()) + INTERVAL 0 SECOND - INTERVAL 5 DAY;
要么
PURGE BINARY LOGS BEFORE '2014-07-11 00:00:00';
这将让mysqld找出哪些二进制日志要删除。