您好,登錄后才能下訂單哦!
這篇“mysql8新特性binlog_expire_logs_seconds有什么作用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“mysql8新特性binlog_expire_logs_seconds有什么作用”文章吧。
在mysql 8.0版本中新增了binlog_expire_logs_seconds,該參數表示binlog的失效日期單位秒。
8.0之前的版本,binlog的失效日志用expire_logs_days來配置,單位是天。
當mysql啟動時,參數文件中binlog_expire_logs_seconds和expire_logs_days都沒配置的時候,mysql會使用binlog_expire_logs_seconds作為默認配置,并且默認值為2592000秒,即30天。
當mysql啟動時,參數文件中binlog_expire_logs_seconds和expire_logs_days有一個設置為非0值則非0值的參數作為binlog日志的失效期。
在使用了binlog_expire_logs_seconds作為binlog的配置文件,此時在修改expire_logs_days會拋出錯誤,不允許同時使用binlog_expire_logs_seconds和expire_logs_days.
該參數支持動態修改,并且支持持久化到配置文件:
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]下
總結
如果 MySQL 每天的數據修改很少,產生的 binlog 很小,而max_binlog_size
設置很大。每次在達到單個 binlog 的最大大小前,執行定時任務調用 xtrabackup 備份,備份時加的備份鎖LOCK INSTANCE FOR BACKUP
和FLUSH NO_WRITE_TO_BINLOG BINARY LOGS
會導致:binlog 刷新了,但是無法自動刪除過期的 binlog 。新的 binlog 寫一天沒有達到最大大小,又進行備份,每天循環這個邏輯,導致過期的 binlog 越來越多,一直無法被自動刪除。
當然,如果你使用的是 MySQL5.7,那并不會有這個問題,雖然 MySQL5.7 時備份時會加全局鎖,但是并不影響過期 binlog 的自動刪除。從這個角度看,這是個 bug,所以報給官方后很快被確認了:https://bugs.mysql.com/bug.php?id=104785
等待修復的過程是漫長的,如果你恰好遇見了這個冷門的 bug,可以把 max_binlog_size
調小,保證在備份前 binlog 就能夠達到最大大小,自然的刷新可以正常觸發自動刪除。
以上就是關于“mysql8新特性binlog_expire_logs_seconds有什么作用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。