it-swarm.com.de

Wie kann ich in MySQL alle nicht benötigten Protokolle löschen/löschen/löschen?

Ich habe mehrere Befehle ausprobiert (FLUSH LOGS, PURGE MASTER), aber keiner löscht die Protokolldateien (wenn zuvor aktiviert) oder die Protokolltabellen (mysql/slow_log.CSV und mysql/general_log.CSV und ihre .frm- und .CSM-Entsprechungen).

SHOW BINARY LOGS gibt "Sie verwenden keine binäre Protokollierung" zurück.

Edit : Ich habe diese einfache Lösung gefunden, um die Tabellenprotokolle zu löschen (aber noch nicht die Dateiprotokolle mit dem Befehl mysql):

TRUNCATE mysql.general_log;
TRUNCATE mysql.slow_log;
22
Erwin Mayer

FLUSH LOGS schließt nur Protokolldateien und öffnet sie erneut. Wenn die Protokolldateien groß sind, werden sie nicht reduziert. Wenn Sie unter Linux arbeiten, können Sie mv verwenden, um Protokolldateien umzubenennen, während sie verwendet werden. Nach FLUSH LOGS wissen Sie, dass MySQL in eine neue, kleine Datei schreibt, und Sie können die alten großen Dateien entfernen.

Binäre Protokolle sind unterschiedlich. Um alte Binlogs zu löschen, verwenden Sie PURGE BINARY LOGS . Stellen Sie sicher, dass Ihre Slaves (falls vorhanden) nicht die binären Protokolle verwenden. Führen Sie SHOW SLAVE STATUS aus, um zu sehen, an welcher Binlog-Datei sie arbeiten, und bereinigen Sie die Datei oder spätere Dateien nicht.

Denken Sie auch daran, dass Binlogs für die Wiederherstellung nach Zeitpunkt hilfreich sind, falls Sie aus Sicherungen wiederherstellen und dann Binlogs erneut anwenden müssen, um die Datenbank auf den neuesten Stand zu bringen. Wenn Sie binlogs auf diese Weise verwenden müssen, löschen Sie nicht die seit der letzten Sicherung geschriebenen binlogs.

27
Bill Karwin

Wenn Sie sich bei Amazon RDS befinden, können Sie dies zweimal ausführen, wenn Sie dies zweimal ausführen:

Prompt> CALL mysql.rds_rotate_slow_log;
Prompt> CALL mysql.rds_rotate_general_log;

Quelle: http://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html

16

Es scheint, dass die binäre Protokollierung auf Ihrem Server nicht aktiviert ist. Und Sie sollten die alten Protokolldateien löschen, die zum Zeitpunkt der binären Protokollierung verwendet/erstellt wurden. Sie können sie manuell löschen, indem Sie den Befehl 'rm' verwenden, wenn Sie möchten. Wenn Sie die binäre Protokollierung aktivieren möchten, können Sie dasselbe tun, indem Sie die Konfigurationsdatei aktualisieren (wenn der Server jedoch bereits läuft, muss er neu gestartet werden). Sie können auf die folgenden Links verweisen . http://dev.mysql.com/doc/refman/5.0/de/replication-options-binary-log.html#option_mysqld_log-binhttp : //dev.mysql.com/doc/refman/5.0/de/replication-options-binary-log.html#sysvar_log_bin

0
kasi