mysql-删除日志文件命令详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql-删除日志文件命令详解相关的知识,希望对你有一定的参考价值。

mysql中会生大量的如mysq-bin.000001这类日志文件了,这些都是二进制文件了,如果我们是普通的日志没有进行主从配置就可以直接使用reset master进行删除了这个方法很简单,

如果没有主从复制,可以通过reset master的方式,重置数据库日志,清除之前的日志文件:

mysql> reset master;

还有一各就是在my.cnf里配置。

expire_logs_days = 3

二进制日志自动删除的天数。这里设置了自动清除3天前的logs。

默认值为0,表示“没有自动删除”。

eg

# 按文件:删除mysql-bin.000354之前的日志,不包含mysql-bin.000354

MYSQL>purge binary logs to ‘mysql-bin.000354‘;

Query OK, 0 rows affected (0.16 sec)

# 按时间:删除2011-11-10 00:00:00 之前的日志

MYSQL>purge binary logs before ‘2011-11-10 00:00:00‘;

# 按时间:请理三天之前的日志

MYSQL> purge master logs before date_sub(now(), interval 3 day);

自动清理日志 :

# 修改my.cnf文件配置bin-log过期时间

[mysqld]

expire-logs-days=7

max-binlog-size=268435456

 

如果你是主从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之前的所有日志都已经删除

 

以上是关于mysql-删除日志文件命令详解的主要内容,如果未能解决你的问题,请参考以下文章

日志相关的服务器参数详解:

删除mysql日志文件

mysql 日志文件mysql-bin文件清除方法,和mysql-bin相关文件的配置

MySQL清理binlog日志的方法

Linux shell 命令 :删除所有日志文件保留最新的 3 个文件

Linux shell 命令 :删除所有日志文件保留最新的 3 个文件