現(xiàn)在PHP語言程序的網(wǎng)站所使用的數(shù)據(jù)庫也就是MYSQL了,這種數(shù)據(jù)庫安全性可靠,使用上也很方便,可是對(duì)于普通用戶來說,卻很難搞懂,也有不少站長(zhǎng)也是對(duì)此了解不深。在今天的內(nèi)容中,小編主要想把自己的一些知識(shí)分享給大家,講講如何清理數(shù)據(jù)庫的日志。
首先使用二進(jìn)制日志清理,二進(jìn)制日志記錄了所有的DDL(數(shù)據(jù)定義語言)語句和DML(數(shù)據(jù)操作語言)語句,但是不記錄包括數(shù)據(jù)查詢的語句。語句以“事件”的形式保存,它描述了數(shù)據(jù)的更改過程,此日志對(duì)于災(zāi)難時(shí)的數(shù)據(jù)恢復(fù)起著極其重要的作用。
然后是了解下日志的位置和格式,當(dāng)用—log-bin[=file_name]選項(xiàng)啟動(dòng)時(shí),mysqld將包含所有更新數(shù)據(jù)的SQL命令寫入日志文件。如果沒有給出file_name值,默認(rèn)名為主機(jī)名后面跟_bin,如果給出了文件名,但沒有包含路勁,則文件默認(rèn)被寫入?yún)?shù)DATADIR(數(shù)據(jù)目錄)指定的目錄。
接下來在了解下日志的讀取,由于日志以二進(jìn)制的方式存儲(chǔ),不能直接讀取,需要用mysqlbinlog工具來查看,語法是#mysqlbinlog log_file。
最后就是日志的刪除方法,對(duì)于比較繁忙的OLTP系統(tǒng),由于每天生產(chǎn)日志量大,這些日志如果長(zhǎng)時(shí)間不清理,將會(huì)對(duì)磁盤空間帶來很大的浪費(fèi),因此,定期刪除日志是DBA維護(hù)Mysql數(shù)據(jù)庫的一個(gè)重要工作內(nèi)容,下面將介紹幾種刪除日志的常見方法:
1.執(zhí)行“reset master;”命令,該命令將刪除所有二進(jìn)制日志,新日志的編號(hào)從“000001” 開始,命令是Mysql>reset master。
2.執(zhí)行“Purge master logs to ‘mysql-bin.*****’” 命令,該命令將刪除“*****” 編號(hào)之前的所有日志,下列中刪除了“mysql-bin.000001”之前編號(hào)的所有日志Mysql>purge master logs to ‘mysql-bin.000015,從結(jié)果中發(fā)現(xiàn),編號(hào)000015之前的所有日志都已經(jīng)刪除。
3.執(zhí)行“purge master logs before ‘yyyy-mm-dd hh24:min:ss’”命令,該命令將刪除日期為“yyyy-mm-dd hh24: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ù)后日志將會(huì)被自動(dòng)刪除,這樣將有利于減少DBA管理日志的工作量。
以上的內(nèi)容就是關(guān)于Mysql數(shù)據(jù)庫日志清理的方法,希望站長(zhǎng)們看后有所了解,這對(duì)您以后的工作會(huì)有很大幫助,請(qǐng)大家收藏。