我的 /var/lib/mysql 文件夹中有 500 多个文件,名为 mysql-bin.000522(或类似名称)...每个文件的大小从几兆字节到 1.1GB 不等。总的来说,这些文件占用了我们系统上的 400GB 以上。这些文件是如何创建的?删除它们安全吗?如果它们不是必需的,我们如何防止它们被重新创建?
答案1
一切都在 MySQL 中文档它们是用于数据恢复和同步的二进制日志文件。
查看文档以了解如何删除它们。但请确保您当前的设置中不需要它们。
答案2
前面已经提到过,这些文件用于二进制日志记录。如果你不使用它们,你可以发出RESET MASTER
来移除它们。
我还会停止服务器,并向您的 my.cnf 添加一个新的配置变量。expire_log_days
将告诉服务器保留二进制日志您指定的天数,以防止将来进一步积累。
您也可以通过确保bin_log
未设置该选项来关闭二进制日志记录,但这不是推荐的方法。更好的解决方案是制定备份和恢复策略,这样如果数据库崩溃,您就可以从中恢复。
例如,在低写入服务器上,每周进行一次完整备份。然后,您将有 7 天(安全起见,14 天)的二进制日志来重放完整备份中的任何更改。
以下是 MySQL 对此的看法备份和恢复。