在/var/log/mysql
我发现有很多大文件
-rw-rw---- 1 mysql adm 104875724 Nov 16 2016 mysql-bin.002982
-rw-rw---- 1 mysql adm 104900467 Nov 16 2016 mysql-bin.002983
...............
-rw-rw---- 1 mysql adm 104919093 Nov 23 2016 mysql-bin.003118
-rw-rw---- 1 mysql adm 104857817 Nov 23 2016 mysql-bin.003119
-rw-rw---- 1 mysql adm 104858056 Nov 23 2016 mysql-bin.003120
-rw-rw---- 1 mysql adm 9184221 Nov 23 2016 mysql-bin.003121
-rw-rw---- 1 mysql adm 104907549 Nov 23 2016 mysql-bin.003122
......
-rw-rw---- 1 mysql adm 6272 Nov 25 2016 mysql-bin.index
我可以删除吗?
更新
我没有为数据库使用复制
答案 0 :(得分:3)
最好不要手动完成,你可以通过mysql来完成。
PURGE BINARY LOGS TO 'binlogname';
PURGE BINARY LOGS BEFORE 'datetimestamp';
例如在一周前运行之前删除所有内容:
PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 3 DAY) + INTERVAL 0 SECOND;
或(甚至更好)编辑 my.cnf 并设置此参数
[mysqld]
expire_logs_days=7
答案 1 :(得分:0)
您也可以使用1个底线删除它们。
它会通过MySQL安全删除所有二进制日志,但当前会话中正在使用的日志除外。
purge binary logs before curdate();
答案 2 :(得分:0)
这些大文件为MYSQL BINARY LOG,以非常详细的方式存储查询事件,例如添加,删除和更新。二进制日志用于两个主要目的:
有几种删除或清除MySQL Binary Log的方法,不建议手动清除文件,您需要使用PURGE BINARY LOGS语句来安全清除二进制日志文件:
SHOW SLAVE STATUS
检查它正在读取哪个日志文件。SHOW BINARY LOGS
在复制源服务器上获取二进制日志文件的列表。由于尚未设置备份,请执行以下操作:
您还可以删除早于特定日期的二进制文件,例如2019-04-02 22:46:26,
PURGE BINARY LOGS TO 'mysql-bin.010';
PURGE BINARY LOGS BEFORE '2019-04-02 22:46:26';
PURGE BINARY LOGS语句结构:
PURGE { BINARY | MASTER } LOGS {
TO 'log_name'
| BEFORE datetime_expr
}
直接来自官方网站