它们占用了太多空间:
/var/lib/mysql/jiaoyou-slow.log: 53M
/var/lib/mysql/mysql-bin.000005: 68M
/var/lib/mysql/mysql-bin.000003: 1.1G
/var/lib/mysql/mysql-bin.000007: 34M
/var/lib/mysql/mysql-bin.000004: 225M
答案1
不,您不应该手动删除它们。
如果在磁盘级别删除它们,mysql
将会崩溃。
删除它们的命令是:
PURGE BINARY LOGS TO 'mysql-bin.010';
替换为您希望保留的mysql-bin.010
最后一个文件 - 通常是最后一个。mysql-bin
看MySQL 文档了解更多信息。
答案2
使用二进制日志有几个原因。按重要性排序:
- 复制——从服务器从主服务器的二进制日志中获取内容。
- 更大的备份粒度——在以前的备份点重播日志。
- 查询日志记录 - 对于偶尔出现的“运行了什么写入查询?”的情况,比一般查询日志更有效。
因此,在删除任何二进制日志之前需要检查三件事:
- 您有任何复制从属设备吗?它们是最新的吗?
- 如果在从服务器将二进制日志拉入中继日志之前删除该日志,则从服务器将无法继续复制。此外,还可能存在需要从主服务器删除中继日志并再次假脱机的异常情况。
- 您的备份是否已检查?
- 您是否需要检查在该日志记录期间执行的所有查询?
如果您对所有这些问题的答案都满意,那么请继续使用以下命令删除它们PURGE
:愤怒Z。 绝对地不手动删除它们,因为 MySQL 喜欢跟踪它们。您可以使用语法TO
指定文件名或BEFORE
指定日期。您可以查看 MySQL 当前打开了哪个文件SHOW MASTER STATUS
。
一个更好的方法,基达注意,使用expire_logs_days
。这将自动执行清除任何超过 N 天的二进制日志的操作。
答案3
你也可以使用 expire_logs_days http://dev.mysql.com/doc/refman/5.0/en/purge-binary-logs.html
答案4
在 Ubuntu 12.04 中
清除二进制日志
将此行添加到您的 /etc/mysql/my.cnf 并且它需要位于 [mysqld] 部分。
过期日志天数 = 7
后:
/etc/init.d/mysql 重启
或者:
然后登录Mysql并运行此命令来设置变量,而无需重新启动Mysql。
设置全局expire_logs_days=7;