-
使用mysql命令删除
查看有哪些日志文件
show binary logs;
查看正在使用的日志文件,名称类似mysql-bin.0000x
show master status;
删除除了mysql-bin.0000x日志文件以外的日志文件
purge binary logs to 'mysql-bin.0000x';
以上三条命令可以删除不用的二进制文件,下面这个命令慎用
删除index文件中列出的所有二进制日志文件,将index文件清空,并创建一个新的二进制日志文件,
reset master;
reset slave;
注意:
reset master删除index文件中列出的所有二进制日志文件,将index文件清空,并创建一个新的二进制日志文件。 使用这个命令要很小心,以免丢失二进制日志文件数据。 reset master也会清空gtid_purged系统变量的值,也会清空系统变量gtid_executed在global上的值(session级别不会清空)。 在5.7.5之后,也会清空mysql.gtid_executed表的值。
reset master与purge binary logs的不同点: 1.reset master移除index文件中列出的所有的二进制日志文件,并创建一个新的空日志文件,从.000001重新开始。purge binary logs不会将日志从.00001重新开始。 2.reset master不要在slave还在运行的时候执行。purge binary logs命令可以在slave还在运行的时候执行。
reset master这个命令会锁住所有对象,并阻塞数据库连接。如果二进制日志文件较多,reset master操作可能会占用很多时间。 Ctrl+C是无法中断操作的。一旦执行,就只好等待操作结束,abort可能会造成很多未知影响。如果只是想清除部分数据,使用purge命令就行
-
设置mysql定时清理日志文件,
mysql的配置文件my.cnf设置expire_logs_days=7, 重启mysql配置仍在
set global expire_logs_days = 7; 通过mysql命令执行,重启后配置会重置0