it-swarm.com.de

Zeigt das Datum der letzten Änderung der Datenbank an

Ist es möglich, den Zeitstempel der letzten Änderung an der Datenbank zu erhalten?

Das Datum sollte jede Änderung - Erstellen, Aktualisieren, Löschen - und jede Tabelle - Beiträge, Kommentare, Post_meta, Anhänge usw. widerspiegeln. Ich habe einige verwandte Fragen gefunden, aber alle von Sie zielen nur auf bestimmte Tabellen ab, z. B. Letztes Update der WordPress-Site anzeigen/ändern

Mein Hintergrund: Ich überlasse es meinem Kunden, den Inhalt der Website in meiner Staging-Umgebung einzutragen, während ich mich lokal entwickle. Hin und wieder muss ich die Versionen synchronisieren. Zu sehen, wann die letzte Änderung vorgenommen wurde, würde mir die Sorge erleichtern, dass ich versehentlich ihre Arbeit verwerfe. :)

Danke im Voraus!

1
Petr Cibulka

In der TABLES-Tabelle in der UPDATE_TIME-Datenbank befindet sich eine information_schema-Spalte.

Sie können also versuchen, das Maximum aus dieser Spalte zu ermitteln, indem Sie z.

SELECT MAX(`UPDATE_TIME`) 
FROM information_schema.TABLES
WHERE  TABLE_SCHEMA = 'dbname'

wo wir 'dbname' durch den entsprechenden Datenbanknamen ersetzen.

Weitere Informationen hier auf SO .

Aus dem MySQL 5.7 docs :

UPDATE_TIME zeigt einen Zeitstempelwert für die letzte UPDATE, INSERT oder DELETE an, die für InnoDB-Tabellen ausgeführt wurde, die nicht partitioniert sind. Bei MVCC gibt der Zeitstempelwert die COMMIT Zeit an, die als letzte Aktualisierungszeit gilt. Zeitstempel werden nicht beibehalten, wenn der Server neu gestartet wird oder wenn die Tabelle aus dem InnoDB-Datenwörterbuch-Cache entfernt wird.

In der Spalte UPDATE_TIME werden diese Informationen auch für partitionierte InnoDB-Tabellen angezeigt.

Es scheint einen Bug gegeben zu haben, der UPDATE_TIME für InnoDB-Tabellen in MySQL <= 5.6 nicht aktualisiert wurde, aber für 5.7+ behoben werden sollte

2
birgire