萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql 刪除日志文件命令詳解

mysql 刪除日志文件命令詳解

在mysql中會生大量的如mysq-bin.000001這類日志文件了,這些都是二進制文件了,如果我們是普通的日志沒有進行主從配置就可以直接使用reset master進行刪除了這個方法很簡單,

如果沒有主從復制,可以通過reset master的方式,重置數據庫日志,清除之前的日志文件:

 代碼如下 復制代碼

mysql> reset master;


還有一各就是在my.cnf裡配置。

 代碼如下 復制代碼

expire_logs_days = 3

二進制日志自動刪除的天數。這裡設置了自動清除3天前的logs。

默認值為0,表示“沒有自動刪除”。


 代碼如下 復制代碼

# 按文件:刪除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之前的所有日志都已經刪除

copyright © 萬盛學電腦網 all rights reserved