linux系統下mysql的binlog日誌刪除

2021-10-02 16:48:42 字數 1279 閱讀 3181

mysql的binlog日誌介紹

binlog是mysql以二進位制形式列印的日誌,它預設不加密,不壓縮。binlog二進位制日誌包含了所有更新了資料或者已經潛在更新了資料(例如,沒有匹配任何行的乙個delete)的所有語句。語句以「事件」的形式儲存,它描述資料更改檔案位置和格式:當用–log-bin[=file_name]選項啟動時,mysqld寫入包含所有更新資料的sql命令的日誌檔案。如果未給出file_name值, 預設名為-bin後面所跟的主機名。如果給出了檔名,但沒有包含路徑,則檔案被寫入資料目錄。

刪除mysql的binlog日誌有兩種方法:自動刪除和手動刪除

1.自動刪除

永久生效:修改mysql的配置檔案my.cnf,新增binlog過期時間的配置項:expire_logs_days=30,然後重啟mysql,這個有個致命的缺點就是需要重啟mysql。

臨時生效:進入mysql,用以下命令設定全域性的引數:set global expire_logs_days=30;

(上面的數字30是保留30天的意思。)

2.手動刪除

可以直接刪除binlog檔案,但是可以通過mysql提供的工具來刪除更安全,因為purge會更新mysql-bin.index中的條目,而直接刪除的話,mysql-bin.index檔案不會更新。mysql-bin.index的作用是加快查詢binlog檔案的速度。

(1)直接刪除(未親測使用)

找到binlog所在目錄,用rm binglog名 直接刪除

例:rm mysql-bin.010

(2)通過mysql提供的工具來刪除(親測使用過)

刪除之前可以先看一下purge的用法:help purge;

刪除舉例:

reset master;//刪除所有binlog日誌,新日誌編號從頭開始

purge master logs to 『mysql-bin.010』;//刪除mysql-bin.010之前所有日誌

purge master logs before 『2003-04-02 22:46:26』;// 刪除2003-04-02 22:46:26之前產生的所有日誌

操作歷史過程

① 進入mysql

cd /usr/local/mysql/bin

./mysql -u root -p

輸入mysql密碼:*****

執行「 purge master logs to 『mysql-bin.000010』; 」

Linux系統下安裝Mysql

這裡我們來演示命令安裝 第二步 輸入指令 1.sudo apt get update 之前安裝程式,要先更新資源庫第三步 mysql uroot p 測試進行命令登入 show databases 展示資料 use mysql 顯示user select user,host from user 第四...

linux系統下mysql安裝

安裝yum倉庫 安裝mysql伺服器 yum y install mysql community server 啟動mysql伺服器 systemctl start mysqld.service 檢視mysql伺服器裝態 檢視mysql設定的密碼 grep password var log mysq...

linux系統下安裝mysql

linux系統下安裝mysql 一.安裝裝包 1.mysql client 5.6.5 m8 1.linux2.6.i386.rpm 2.mysql server 5.6.5 m8 1.linux2.6.i386.rpm 二.開始安裝 1 安裝伺服器端 在有兩個rmp檔案的目錄下執行如下命令 roo...