mysql自动定期清理日志文件(mysql 日志清理)

发布时间:2022-11-09

本文目录一览:

1、一台服务器怎么清理mysql 日志
2、怎么样安全删除mysql下的binlog日志
3、MySQL清理binlog日志的方法
4、mysql自动定期清理日志文件

一台服务器怎么清理mysql 日志

用命令查看: show binary logs; 然后去从服务器上查看哪个二进制正在使用, 我们看到mysql-tb-bin.000005这个日志文件正在使用。 回到主服务器开始清理日志,但是不能清理mysql-tb-bin.000005这个日志文件,用命令清理:

purge binary logs to 'mysql-tb-bin.000005';

这个命令就是清理除mysql-tb-bin.000005以外的其他二进制日志;执行成功后,再查看二进制日志列表:show binary logs; 清理成功,但是这样手动清理危险很大,而且还比较复杂,有没有自动清理的方法呢?答案是有的,在my.ini里面加上这个配置:expire_logs_days=5 这个配置的意思就是,日志的过期天数,超过5天的日志,MySQL会自动清理5天以前的日志,这样就不用再担心日志文件越来越大的问题了,执行命令的时候一定要慎重,确保万无一失再执行,有不正确的地方,望大家指正!

怎么样安全删除mysql下的binlog日志

binlog日志可以自动清除也可以手动删除。 1、设置自动清理MySQL binlog日志,配置my.cnf

expire_logs_days =10

保存后重启MySQL生效,以后binlog日志只保留10天以内的。

MySQL清理binlog日志的方法

永久生效:修改MySQL的配置文件my.cnf,添加binlog过期时间的配置项:

expire_logs_days=30

然后重启MySQL,这个有个致命的缺点就是需要重启MySQL。 临时生效:进入MySQL,用以下命令设置全局的参数:

set global expire_logs_days=30;

(上面的数字30是保留30天的意思。) 可以直接删除 binlog 文件,但是可以通过 MySQL 提供的工具来删除更安全,因为 purge 会更新 mysql-bin.index 中的条目,而直接删除的话,mysql-bin.index 文件不会更新。mysql-bin.index 的作用是加快查找 binlog 文件的速度。 命令查看 binlog 文件 删除举例:

mysql自动定期清理日志文件

方法一: 修改配置文件

重启MySQL生效

方法二: 修改MySQL变量

该方法在下次启动MySQL后失效,也就是说重启MySQL后expire_logs_days的值又还原为0了, 该方法的好处在于不用重启MySQL就可以生效