在mysql中会生大量的如mysq-bin.000001这类日志文件了,这些都是二进制文件了,如果我们是普通的日志没有进行主从配置就可以直接使用reset master进行删除了这个方法很简单,
如果没有主从复制,可以通过reset master的方式,重置数据库日志,清除之前的日志文件:
mysql> reset maste r;
还有一个就是在my.cnf里配置。
expire_logs_days = 3
二进制日志自动删除的天数。这里设置了自动清除3天前的logs。
默认值为0,表示“没有自动删除”。
如果你是主从mysql日志文件请参考下面方法
//删除日志之前,先检查主从服务器当前使用的日志文件,
//首先登录 要删除日志的服务器的 mysql 终端
#mysql -u root -pxxxxx
//检查复制主服务器状态
Mysql>show master status
+------------------+-----------+--------------+----------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+----------------------------------------+
| mysql-bin.000097 | 541677824 | www | test,mysql,information_schema |
+------------------+-----------+--------------+----------------------------------------+
//复制主服务器当前正在使用的日志文件是:mysql-bin.000097
//检查复制从服务器状态
Mysql>show slave statusG
//复制从服务器当前正在使用的复制主服务器日志文件是:mysql-bin.000103
//当前正在使用的日志文件是000097,我需要做的是删除00095号之前的所有日志(预留出最近几天的日志)
Mysql>purge master logs to ‘mysql-bin.000095;
#ll /usr/local/mysql/var/
//从结果中发现,编号000097之前的所有日志都已经删除