您好,登錄后才能下訂單哦!
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)自動刪除
免責(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)容。