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
會導致:binlog 刷新了,但是無法自動刪除過期的 binlog 。新的 binlog 寫一天沒有達到最大大小,又進行備份,每天循環(huán)這個邏輯,導致過期的 binlog 越來越多,一直無法被自動刪除。
當然,如果你使用的是 MySQL5.7,那并不會有這個問題,雖然 MySQL5.7 時備份時會加全局鎖,但是并不影響過期 binlog 的自動刪除。從這個角度看,這是個 bug,所以報給官方后很快被確認了:https://bugs.mysql.com/bug.php?id=104785
等待修復的過程是漫長的,如果你恰好遇見了這個冷門的 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)文章
mysql查詢字符串中某個字符串出現(xiàn)的次數(shù)(實例詳解)
這篇文章主要介紹了mysql查詢字符串中某個字符串出現(xiàn)的次數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04MySQL 配置文件 my.cnf / my.ini 區(qū)別解析
充分理解 MySQL 配置文件中各個變量的意義對我們有針對性的優(yōu)化 MySQL 數(shù)據(jù)庫性能有非常大的意義,這篇文章主要介紹了MySQL 配置文件 my.cnf / my.ini 區(qū)別,需要的朋友可以參考下2022-11-11MySQL內(nèi)存使用率高且不釋放問題排查與總結(jié)
這篇文章主要給大家介紹了MySQL內(nèi)存使用率高且不釋放問題排查與總結(jié),文中通過代碼示例和圖文結(jié)合的方式給大家講解的非常詳細,對大家解決問題有一定的幫助,需要的朋友可以參考下2024-09-09命令行模式下備份、還原 MySQL 數(shù)據(jù)庫的語句小結(jié)
為了安全起見,需要經(jīng)常對數(shù)據(jù)庫作備份,或者還原,學會在命令行模式下備份、還原數(shù)據(jù)庫,還是很有必要2012-11-11MySQL中rank() over、dense_rank() over、row_number()&n
本文主要介紹了MySQL中rank() over、dense_rank() over、row_number() over用法介紹,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03MySQL InnoDB行記錄存儲結(jié)構(gòu)分析
工作中我們基本上都是用MySQL的InnoDB存儲引擎,但是大家有去了解過它的底層存儲結(jié)構(gòu)嗎,想必絕大部分人不知道或者說不知道怎么查相關(guān)知識,剛好來看這篇文章就對了2023-07-07Mysql實戰(zhàn)練習之簡單圖書管理系統(tǒng)
由于課設(shè)需要做這個,于是就抽了點閑余時間,寫了下,用Mysql與Java,基本全部都涉及到,包括借書/還書,以及書籍信息的更新,查看所有的書籍。需要的朋友可以參考下2021-09-09MySql 5.7.20安裝及data和my.ini文件的配置
本文通過圖文并茂的形式給大家介紹了MySql 5.7.20安裝及data和my.ini文件的配置方法,本文給大家介紹的非常詳細,需要的朋友參考下吧2017-11-11