MySql 5.5を使用しています。変更することは可能ですかexpire_logs_days
そして、サーバーを再起動しなくても変更が有効になりますか?
ありがとう@dezso
変更方法は次のとおりです:SET GLOBAL expire_logs_days = 4;
MySQL 5.6では、expire_logs_daysが最初に設定されているものを表示する必要があります。次に、マスターがこれらのログをx
日以上保持する必要がないことを確認します。注意してください。バイナリログの日数が少ないと、大きなリスクになる可能性があります。
グローバルに設定:
mysql> 'expire_logs_days'; + ------------------ + ------- + [.____のような変数を表示します。] |変数名|値| + ------------------ + ------- + | expire_logs_days | 5 | + ------------------ + ------- + 1行のセット(0.00秒)
mysql> set global expire_logs_days = 1; クエリは正常、0行が影響を受けた(0.62秒)
mysql> 'expire_logs_days'; + ------------------ + ------- + [.____のような変数を表示します。] |変数名|値| + ------------------ + ------- + | expire_logs_days | 1 | + ------------------ + ------- + 1行のセット(0.00秒)
次に、この設定をそのままにするか、サービスの再起動後も維持する場合は、my.cnfファイルを更新することを忘れないでください。
$ Sudo vim /etc/my.cnf expire_logs_days = 1
次に、現在のログをフラッシュし、バイナリログステートメントを使用して、1日以上前のすべてのログで有効にします。
mysql>バイナリログをフラッシュする;
Mysql(コミュニティ)バージョン8.0.17-1.sles12-OpenSUSE tumbleweed 2019.10.02
mysql> SET GLOBAL expire_logs_days = 4;
ERROR 3683 (HY000): The option expire_logs_days and binlog_expire_logs_seconds
cannot be used together. Please use binlog_expire_logs_seconds to set the expire
time (expire_logs_days is deprecated)
..