mysql 正確清理binlog日誌

mysq 正確清理binlog日誌mysql

前言:sql

MySQL中的binlog日誌記錄了數據庫中數據的變更,便於對數據的基於時間點和基於位置的恢復,可是binlog也會日漸增大,佔用很大的磁盤空間,所以,要對binlog使用正確安全的方法清理掉一部分沒用的日誌。數據庫

【方法一】手動清理binlog安全

清理前的準備:spa

① 查看主庫和從庫正在使用的binlog是哪一個文件.net

?日誌

1code

2htm

show master status\G 索引

show slave status\G

② 在刪除binlog日誌以前,首先對binlog日誌備份,以防萬一

開始動手刪除binlog:

?

1

purge master logs before'2016-09-01 17:20:00'; //刪除指定日期之前的日誌索引中binlog日誌文件

?

1

purge master logs to'mysql-bin.000022'; //刪除指定日誌文件的日誌索引中binlog日誌文件

注意:

時間和文件名必定不能夠寫錯,尤爲是時間中的年和文件名中的序號,以防不當心將正在使用的binlog刪除!!!

切勿刪除正在使用的binlog!!!

使用該語法,會將對應的文件和mysql-bin.index中的對應路徑刪除。

【方法二】經過設置binlog過時的時間,使系統自動刪除binlog文件

?

1

2

3

4

5

6

7

mysql> show variables like 'expire_logs_days';

+------------------+-------+

| Variable_name  | Value |

+------------------+-------+

| expire_logs_days |   0  |

+------------------+-------+

mysql> set global expire_logs_days = 30;    #設置binlog多少天過時

注意:

過時時間設置的要適當,對於主從複製,要看從庫的延遲決定過時時間,避免主庫binlog還未傳到從庫便因過時而刪除,致使主從不一致!!!

感謝閱讀,但願能幫助到你們,謝謝你們對本站的支持!

您可能感興趣的文章:

相關文章
相關標籤/搜索