webentwicklung-frage-antwort-db.com.de

Wo finde ich das MySQL-Transaktionslog?

Führt MySQL ein Transaktionsprotokoll und wenn ja, wo kann ich es finden?

Auf mysteriöse Weise wurde eine Reihe von Zeilen aus einer Tabelle gelöscht, und ich möchte versuchen, herauszufinden, wie und wann dies geschehen ist.

16
php-b-grader

Wenn Sie eingeschaltet haben, kann mysql binary log verfolgen, das alle Änderungen enthält (um es klar zu machen - es enthält die Abfragen, die etwas geändert hatten).

Es ist aber auf jeden Fall nutzlos, wenn Sie nicht über den anfänglichen Speicherauszug verfügen, der dem Einschalten des Binlog vorausgeht. Ich nehme an, wenn Sie den Dump erstellt und binlog eingeschaltet haben, würden Sie keine solche Frage stellen: -S

10
zerkms
2
Amber

Wenn Sie MySql unter Windows verwenden, befindet sich in C:\Program Files\MySQL\MySQL Server 5.0\data eine Datei (unter der Annahme eines Laufwerks C: für das Installationsziel und der MySql-Version 5.0), die als% COMPUTERNAME% .log bezeichnet wird und die ausgeführten Befehle enthält.

1
Rob

Kurze Antwort: nicht standardmäßig.

Um genaue Protokollierungsergebnisse zu erhalten, müssen Sie den Server zunächst mit dem Parameter --log-bin=your-file-name im binären Protokollierungsmodus gestartet haben. Anschließend erstellt es eine binäre Protokolldatei <>, wobei seq eine Folgenummer für nachfolgende Protokolldateien ist (empfohlen, Ihren Dateinamen dort anzugeben, mit expliziter Verzeichnisposition).

Weitere Informationen auf der MySQL-Site mit allen Details: https://dev.mysql.com/doc/refman/5.7/de/binary-log.html

0