MySql - Ändern von expire_logs_days ohne Neustart des Servers


Antworten:


10

danke @dezso

Hier ist, wie ich es geändert habe: SET GLOBAL expire_logs_days = 4;


3

In MySQL 5.6 möchten Sie zeigen, auf was Ihre expire_logs_days zuerst eingestellt sind. Stellen Sie dann sicher, dass der Master diese Protokolle nicht länger als die xAnzahl der Tage aufbewahren muss. Vorsicht, binäre Protokolle, die in Tagen so niedrig sind, können ein großes Risiko darstellen.

Global festlegen als:

mysql> zeige Variablen wie 'expire_logs_days';
+ ------------------ + ------- +
| Variablenname | Wert |
+ ------------------ + ------- +
| expire_logs_days | 5 |
+ ------------------ + ------- +
1 Reihe im Satz (0,00 Sek.)
mysql> set global expire_logs_days = 1;
Abfrage OK, 0 Zeilen betroffen (0,62 Sek.)
mysql> zeige Variablen wie 'expire_logs_days';
+ ------------------ + ------- +
| Variablenname | Wert |
+ ------------------ + ------- +
| expire_logs_days | 1 |
+ ------------------ + ------- +
1 Reihe im Satz (0,00 Sek.)

Vergessen Sie dann nicht, die Datei my.cnf zu aktualisieren, wenn diese Einstellung erhalten bleiben oder einen Neustart des Dienstes überleben soll:

$ sudo vim /etc/my.cnf
    expire_logs_days = 1

Löschen Sie dann das aktuelle Protokoll und lassen Sie die binäre Protokollanweisung auf alle Protokolle wirksam werden, die älter als 1 Tag sind. In Ihrem Fall:

mysql> binäre Protokolle leeren;

1

MySQL (Community) Version 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)

..

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.