溫馨提示×

溫馨提示×

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

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

Mysql清理二進制日志的技巧

發布時間:2020-08-01 23:21:19 來源:網絡 閱讀:412 作者:灬落魄灬 欄目:MySQL數據庫

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天前的日志都會被刪除,系統自動刪除


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女