您好,登錄后才能下訂單哦!
1:二進制日志
二進制日志記錄了所有的DDL(數據定義語言)語句和DML(數據操作語言)語句,但是不記錄包括數據查詢的語句。語句以“事件”的形式保存,它描述了數據的更改過程,此日志對于災難時的數據恢復起著極其重要的作用
2:日志的位置和格式
當用—log-bin[=file_name]選項啟動時,mysqld將包含所有更新數據的SQL命令寫入日志文件。如果沒有給出file_name值,默認名為主機名后面跟_bin,如果給出了文件名,但沒有包含路勁,則文件默認被寫入參數DATADIR(數據目錄)指定的目錄
3:日志的讀取
由于日志以二進制的方式存儲,不能直接讀取,需要用mysqlbinlog工具來查看,語法如下:
#mysqlbinlog log_file
4:日志的刪除
對于比較繁忙的OLTP系統,由于每天生產日志量大,這些日志如果長時間不清理,將會對磁盤空間帶來很大的浪費,因此,定期刪除日志是DBA維護MySQL數據庫的一個重要工作內容,下面將介紹幾種刪除日志的常見方法
(1):
執行“reset master;”命令,該命令將刪除所有二進制日志,新日志的編號從“000001” 開始,命令如下
Mysql>reset master;
(2):
執行“Purge master logs to ‘mysql-bin.*****’” 命令,該命令將刪除“*****” 編號之前的所有日志,下列中刪除了“mysql-bin.000001”之前編號的所有日志
Mysql>purge master logs to ‘mysql-bin.000015;
從結果中發現,編號000015之前的所有日志都已經刪除
(3):
執行“purge master logs before ‘yyyy-mm-dd hh34:min:ss’”命令,該命令將刪除日期為“yyyy-mm-dd hh34:mi:ss”之前產生的所有日志,下列中刪除了日期在“2010-05-22 01:00:00”之前的所有日志
Mysql>purge master logs before ‘2010-05-22 01:00:00’’;
(4):
設置參數—expire_logs_days=#(days),此參數的含義是設置日志的過期天數,過來指定的天數后日志將會被自動刪除,這樣將有利于減少DBA管理日志的工作量。
#vi /etc/my.cnf [mysqld] --expire_logs_days=3
這樣,3天前的日志都會被刪除,系統自動刪除
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。