mysql8新特性之binlog_expire_logs_seconds淺析
在mysql 8.0版本中新增了binlog_expire_logs_seconds,該參數(shù)表示binlog的失效日期單位秒。
8.0之前的版本,binlog的失效日志用expire_logs_days來配置,單位是天。
當mysql啟動時,參數(shù)文件中binlog_expire_logs_seconds和expire_logs_days都沒配置的時候,mysql會使用binlog_expire_logs_seconds作為默認配置,并且默認值為2592000秒,即30天。
當mysql啟動時,參數(shù)文件中binlog_expire_logs_seconds和expire_logs_days有一個設(shè)置為非0值則非0值的參數(shù)作為binlog日志的失效期。
在使用了binlog_expire_logs_seconds作為binlog的配置文件,此時在修改expire_logs_days會拋出錯誤,不允許同時使用binlog_expire_logs_seconds和expire_logs_days.
該參數(shù)支持動態(tài)修改,并且支持持久化到配置文件:
mysql> set global binlog_expire_logs_seconds=604800;</code> <code>Query OK, 0 rows affected (0.00 sec)</code> <code>mysql> show variables like '%expire_logs%';</code> <code>+--------------------------------+-------+</code> <code>| Variable_name | Value |</code> <code>+--------------------------------+-------+</code> <code>| binlog_expire_logs_seconds | 604800|</code> <code>| expire_logs_days | 0 |</code> <code>+--------------------------------+-------+</code> <code>3 rows in set (0.00 sec)
--持久化:
mysql> set persist binlog_expire_logs_seconds=604800;</code> <code>Query OK, 0 rows affected (0.00 sec)
也可以通過修改配置文件,將binlog_expire_logs_seconds=604800 加到[mysqld]下
總結(jié)
如果 MySQL 每天的數(shù)據(jù)修改很少,產(chǎn)生的 binlog 很小,而max_binlog_size設(shè)置很大。每次在達到單個 binlog 的最大大小前,執(zhí)行定時任務(wù)調(diào)用 xtrabackup 備份,備份時加的備份鎖LOCK INSTANCE FOR BACKUP和FLUSH NO_WRITE_TO_BINLOG BINARY LOGS會導(dǎo)致:binlog 刷新了,但是無法自動刪除過期的 binlog 。新的 binlog 寫一天沒有達到最大大小,又進行備份,每天循環(huán)這個邏輯,導(dǎo)致過期的 binlog 越來越多,一直無法被自動刪除。
當然,如果你使用的是 MySQL5.7,那并不會有這個問題,雖然 MySQL5.7 時備份時會加全局鎖,但是并不影響過期 binlog 的自動刪除。從這個角度看,這是個 bug,所以報給官方后很快被確認了:https://bugs.mysql.com/bug.php?id=104785
等待修復(fù)的過程是漫長的,如果你恰好遇見了這個冷門的 bug,可以把 max_binlog_size調(diào)小,保證在備份前 binlog 就能夠達到最大大小,自然的刷新可以正常觸發(fā)自動刪除。
到此這篇關(guān)于mysql8新特性之binlog_expire_logs_seconds的文章就介紹到這了,更多相關(guān)mysql8新特性binlog_expire_logs_seconds內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
xtrabackup備份還原MySQL數(shù)據(jù)庫
這篇文章主要為大家詳細介紹了xtrabackup備份還原MySQL數(shù)據(jù)庫的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
mysql事務(wù)select for update及數(shù)據(jù)的一致性處理講解
今天小編就為大家分享一篇關(guān)于mysql事務(wù)select for update及數(shù)據(jù)的一致性處理講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
Mysql數(shù)據(jù)庫實現(xiàn)多字段過濾的方法
這篇文章主要介紹了Mysql數(shù)據(jù)庫實現(xiàn)多字段過濾的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07
JMeter對MySQL數(shù)據(jù)庫進行壓力測試的實現(xiàn)步驟
本文主要介紹了JMeter對MySQL數(shù)據(jù)庫進行壓力測試的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
有關(guān)mysql中sql的執(zhí)行順序的小問題
在MySQL中我們可能會遇到一些關(guān)于執(zhí)行順序的問題,下面小編就來帶大家了解一下原因以及如何解決2019-05-05

