mysql清理binlog文件
2020-01-27mysql默认开启了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';