mysql清理binlog文件

2020-01-27

mysql默认开启了binlog,会占用大量的空间,为了释放磁盘空间,不能在操作系统上直接删除binlog文件,虽然释放了空间,但是在Index中,还是有记录.重新启动的时候,会检查文件是否存在,如果不在会报错:

1、mysql> SHOW BINARY LOGS;
ERROR 1381 (HY000): You are not using binary logging
reset master; #重置binlog

2、mysqlbinlog mysqld-bin.000001

mysqlbinlog -d crm mysqld-bin.000001 > crm-events.txt

使用 -d 选项,可以指定一个数据库名称,将只显示在该数据库上所发生的事件。也可以使用 --database 命令,效果相同。

mysqlbinlog -D mysqld-bin.000001

mysql> flush logs;

3、通过puge binary logs命令来进行删除

purge binary logs to 'mysql-bin.000017';

purge binary logs删除就行了.同时也会更新index文件

4、直接把binlog和binlog的index全部删除,重启,干干净净
5、其中5.x系列, 关闭log-bin非常简单, 只需要修改my.ini配置:
log-bin=Off
mysql8 需要变更一下my.cnf配置.
disable-log-bin
或者
skip-log-bin
没有日志复制功能, mysql性能会有显著提升.
6、show variables like 'log_bin';

分类:Linux数据库 | 标签: |

相关日志

评论被关闭!