1.手動清除binlog文件
創新互聯長期為成百上千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為交口企業提供專業的網站設計、成都網站設計,交口網站改版等技術服務。擁有10余年豐富建站經驗和眾多成功案例,為您定制開發。
理論上,應該在配置文件/etc/my.cnf中加上binlog過期時間的配置項,expire_logs_days = 10.但是如果沒有加這一項,隨著產生越來越多的binlog,磁盤被吃掉了不少。可以直接刪除binlog文件,但是可以通過MySQL提供的工具來刪除更安全。因為purge會更新mysql-bin.index中的條目,而直接刪除的話,mysql-bin.index文件不會更新。mysql-bin.index的作用是加快查找binlog文件的速度。
先help一下吧:
mysql> help purge
Name: 'PURGE MASTER
LOGS'
Description:
Syntax:
PURGE {MASTER | BINARY} LOGS TO
'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'
Deletes all the binary logs listed in the log index prior to the
specified
log or date. The logs also are removed from the list recorded
in the log
index file, so that the given log becomes the first.
This statement has no effect if the --log-bin option has not
been
enabled.
URL:http://dev.mysql.com/doc/refman/5.0/en/purge-master-logs.html
Examples:
PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS
BEFORE '2003-04-02 22:46:26';
兩種方法都可用。第一個是刪除至某一個文件為止,第二個是刪除到某個日期為止。
比如我們刪除2017-05-31之前的log,可以這樣
mysql>PURGE MASTER LOGS BEFORE '2017-05-31 00:00:00';
2.設置expire_logs_days
# vim /etc/my.cnf //修改expire_logs_days,x是自動刪除的天數,一般將x設置為短點,如10
expire_logs_days = x //二進制日志自動刪除的天數。默認值為0,表示“沒有自動刪除”
此方法需要重啟mysql,附錄有關于expire_logs_days的英文說明
當然也可以不重啟mysql,開啟mysql主從,直接在mysql里設置expire_logs_days
> show binary logs;
> show variables like '%log%';
> set global expire_logs_days = 10;
需要注意的是:最好到slave上面去看下當前同步到那個binlog文件了,用show slave status查看。否則,master上刪多了的話,就造成slave缺失日志文件而導致數據不一致了。
新聞名稱:mysql的binlog安全刪除
網站路徑:http://vcdvsql.cn/article28/gdgicp.html
成都網站建設公司_創新互聯,為您提供域名注冊、面包屑導航、標簽優化、全網營銷推廣、網站設計、App設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯