Mysql

如何更改 binlog 文件的過期日期?

  • April 18, 2019

我有一台裝有 Ubuntu 18.04 和 MySQL 8.0.11 的伺服器

我的 binlog 文件中/var/lib/mysql有幾個 GO,我的伺服器很快就會飽和。

如何更改 binlog 文件的過期日期?

如果我去:

nano /etc/mysql/my.cnf

該文件包含:

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

如果我去:

nano /etc/mysql/conf.d/mysql.cnf

該文件包含:

[mysql]

如果我去:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

該文件包含:

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log

我找不到要配置的文件。數據庫更改超時是否安全?

如何更改 binlog 文件的過期日期?

要在二進制日誌文件或特定日期之前清除二進制日誌,請使用清除二進制日誌語句。

要為二進制日誌設置過期時間,請使用binlog_expire_logs_seconds。無論您是否啟用了複製,我都建議將其保留 2 天以上。

我找不到要配置的文件。

要查看 MySQL 查看配置文件的順序,請執行以下命令:

mysqld --help --verbose | grep -A 2 "Default options are read from"

如果您還想查看不同變數在開始時會採用什麼值,請刪除該grep部分。

對於在配置文件中多次指定值或在同一文件中多次指定值的變數,MySQL 將考慮最後一個值。其中一些配置文件可能不存在,在這種情況下,您可以自己創建它們,並[mysqld]在配置文件中添加您要設置的參數。

數據庫更改超時是否安全?

是的,如果不涉及複製,它是安全的。即使slave確實存在,如果所有要刪除的日誌都已經被slave處理和執行了,那麼從master中刪除這些日誌是安全的。

log_bin = 0完全關閉對二進制日誌的寫入。

引用自:https://dba.stackexchange.com/questions/233059