临时生效:进入mysql,用以下命令设置全局的参数: set global expire_logs_days=30
(上面的数字30是保留30天的意思。)
可以直接删除 binlog 文件,但是可以通过 mysql 提供的工具来删除更安全,因为 purge 会更新 mysql-bin.index 中的条目,而直接删除的话, mysql-bin.index 文件不会更新。 mysql-bin.index 的作用是加快查找 binlog 文件的速度。
命令查看 binlog 文件
删除举例:
首先,建议你在删除之前先对数据库用mysqldump做个全库备份。然后进入Mysql(用root用户)。然后 show binary logs ,这个命令会列出当前保存的所有二进制日志。然后用命令:purge binary/master logs to 日志名(表示到这个日志之前的日志都删除掉)/before 时间(表示到这个时间之前的日志都删除掉)
里面用“/”标明的是前后两个二选一的可选项。执行完后,就会删除了。
如果你不想这么麻烦,可以设置日志保存时长的。首先你要找到my.cnf配置文件,然后编辑它。在[mysqld]里面加入
expire_logs_days=想要保留的天数
然后重启Mysql服务。这样每当你重启mysql服务,或者是做flush logs的时候,系统都会把超出设置天数之外的日志删掉。
第一种方法:mysql>show binary logs 查看mysql bin-log日志,除了这个以外的,其它都可以使用删除。
mysql>purge binary logs to 'binlog.000058' (删除mysql bin-log日志,删除binlog.000005之前的,不包括binlog.000058)
第二种方法:
进入数据库,查看一下当前使用的binlog日志是哪个,除了这个以外的,其它都可以使用rm -rf 删除!
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)