从 /var/log/mysql 中删除 mysql-bin.**** 文件

Moh*_*nda 2 mysql mysqlbinlog

/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
Run Code Online (Sandbox Code Playgroud)

我可以删除它们吗?

更新

我不使用数据库复制

小智 5

最好不要手动,你可以通过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

  • 从 mysql 8 开始,默认有效期为 30 天,并且“expire_logs_days”已被弃用,取而代之的是“binlog_expire_logs_seconds”。https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_expire_logs_days (2认同)