mysql binlog 大小設定問題

2021-09-26 16:00:57 字數 733 閱讀 1587

mysql開啟了二進位制日誌binlog,如mysql-bin.000005等,重啟服務後會自動更新這個檔案,如原來是000005的話會生成000006。

請問,如果服務一直不重啟,什麼情況下會自動產生新的日誌檔案呢,是大小到了一定量時自動產生新的檔案麼?比如000005到了1g,原來000005的話會自動生成乙個000006,以後就走6這個了。是根據什麼?

mysqld在每個二進位制日誌名後面新增乙個數字副檔名。每次你啟動伺服器或重新整理日誌時該數字則增加。如果當前的日誌大小達到max_binlog_size,還會自動建立新的二進位制日誌。如果你正使用大的事務,二進位制日誌還會超過max_binlog_size:事務全寫入乙個二進位制日誌中,絕對不要寫入不同的二進位制日誌中。

my.ini中有兩個設定:

#expire_logs_days = 10

#max_binlog_size = 100m 

expire_logs_days :定義了mysql清除過期日誌的時間。

二進位制日誌自動刪除的天數。預設值為0,表示「沒有自動刪除」。啟動時和二進位制日誌迴圈時可能刪除。

max_binlog_size

如果二進位制日誌寫入的內容超出給定值,日誌就會發生滾動。你不能將該變數設定為大於1gb或小於4096位元組。 預設值是1gb。

另外   mysqladmin flush-logs 也可以重新開始新的binary log

mysqladmin flush-logs 也可以重新開始新的binary log

mysql binlog備份初探

備份mysql的binlog檔案,可以配合分庫或全庫的備份檔案實現基於時間點的資料恢復.在工作過程中,遇到兩種情況 1.不執行flush logs命令 缺點 對於不進行頻繁寫入和更新的業務,備份後,浪費磁碟空間.優點 對於一天只生成乙個binlog檔案的業務,恢復資料比較容易,只需要解壓乙個binl...

mysqlbinlog使用詳解

mysqlbinlog用於處理二進位制日誌檔案的實用工具詳解 mysqlbinlog 從二進位制日誌讀取語句的工具。在二進位制日誌檔案中包含的執行過的語句的日誌可用來幫助從崩潰中恢復 在my.cnf這個檔案中加一行 windows為my.ini vi etc my.cnf mysqld log bi...

mysqlbinlog基於postion的資料恢復

今天我們來實驗一下用mysqlbinlog進行資料誤刪除後的恢復實驗。tips 首先作為dba要有備份資料的意識,否則真到出問題丟資料的時候就可以收拾收拾回家了。前提假設 17 48已經有了mail表的乙個全備 以防丟失資料 示例表結構如下 create table create tablemail...