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