Closed1

MySQL 8.2, MySQL 8.3にてunknown variable 'expire_logs_days=1' エラー

Matsukura YukiMatsukura Yuki

背景

MySQL 8.0あたりからexpire_logs_daysが非推奨になり、MySQL 8.2からexpire_logs_daysが削除されました。
https://dev.mysql.com/doc/mysql-shell/8.3/en/innodb-cluster-binary-log-purging.html

解決方法

  • expire_logs_days の代わりに binlog_expire_logs_seconds を使うようになっています。
    • 要するに、今までは日にち単位でしか設定できなかったものを秒単位で設定できるようにしたということです。

仕様

設定例

/etc/my.cnf などに以下を記載してサーバを再起動。

1日の場合

[mysqld]
binlog_expire_logs_seconds=86400

7日の場合

[mysqld]
binlog_expire_logs_seconds=604800

30日の場合(デフォルト値)

[mysqld]
binlog_expire_logs_seconds=2592000
このスクラップは3ヶ月前にクローズされました