• 使用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 masterpurge 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