溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Mysql清理二進制日志的技巧

發(fā)布時間:2020-08-01 23:21:19 來源:網(wǎng)絡(luò) 閱讀:392 作者:灬落魄灬 欄目:MySQL數(shù)據(jù)庫

1:二進制日志

二進制日志記錄了所有的DDL(數(shù)據(jù)定義語言)語句和DML(數(shù)據(jù)操作語言)語句,但是不記錄包括數(shù)據(jù)查詢的語句。語句以“事件”的形式保存,它描述了數(shù)據(jù)的更改過程,此日志對于災(zāi)難時的數(shù)據(jù)恢復(fù)起著極其重要的作用

2:日志的位置和格式

當(dāng)用—log-bin[=file_name]選項啟動時,mysqld將包含所有更新數(shù)據(jù)的SQL命令寫入日志文件。如果沒有給出file_name值,默認名為主機名后面跟_bin,如果給出了文件名,但沒有包含路勁,則文件默認被寫入?yún)?shù)DATADIR(數(shù)據(jù)目錄)指定的目錄

3:日志的讀取

由于日志以二進制的方式存儲,不能直接讀取,需要用mysqlbinlog工具來查看,語法如下:

#mysqlbinlog log_file

4:日志的刪除

對于比較繁忙的OLTP系統(tǒng),由于每天生產(chǎn)日志量大,這些日志如果長時間不清理,將會對磁盤空間帶來很大的浪費,因此,定期刪除日志是DBA維護MySQL數(shù)據(jù)庫的一個重要工作內(nèi)容,下面將介紹幾種刪除日志的常見方法

1):

執(zhí)行“reset master;”命令,該命令將刪除所有二進制日志,新日志的編號從“000001” 開始,命令如下

Mysql>reset master;


2):

執(zhí)行“Purge master logs to ‘mysql-bin.*****’” 命令,該命令將刪除“*****” 編號之前的所有日志,下列中刪除了“mysql-bin.000001”之前編號的所有日志

Mysql>purge master logs to ‘mysql-bin.000015;


從結(jié)果中發(fā)現(xiàn),編號000015之前的所有日志都已經(jīng)刪除

3):

執(zhí)行“purge master logs before ‘yyyy-mm-dd hh34:min:ss’”命令,該命令將刪除日期為“yyyy-mm-dd hh34:mi:ss”之前產(chǎn)生的所有日志,下列中刪除了日期在“2010-05-22 01:00:00”之前的所有日志

Mysql>purge master logs before ‘2010-05-22 01:00:00’’;


4):

設(shè)置參數(shù)—expire_logs_days=#(days),此參數(shù)的含義是設(shè)置日志的過期天數(shù),過來指定的天數(shù)后日志將會被自動刪除,這樣將有利于減少DBA管理日志的工作量。

#vi /etc/my.cnf
[mysqld]
--expire_logs_days=3


這樣,3天前的日志都會被刪除,系統(tǒng)自動刪除


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI