PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenbank Sicherung auf konsistent pruefen / simulieren



sam600
04.08.16, 10:11
Hallo,

Ich will meine Datenbank ( mariaDB ) sichern.
Dazu versetze ich die DB in einen konsistenten Zustand:



...
FLUSH TABLES WITH READ LOCK
...


Frage:
Wie kann ich die Sicherung pruefen bzw. pruefen, ob die Datenbank wirklich konsistent ist?

Als gegen Pruefung will ich eine Sicherung ohne die DB in einen konsistenten Zustand zu versetzen und danach pruefen ( logischerweise sollte dann ein Fehler kommen )

Da es eine TestDB ist, ueberlege ich, was ich machen muss das die DB in einen inkonsistenten Zustand kommt.

Hat mir jemand dazu ein paar Tipps

Vielen Dank

marce
04.08.16, 11:12
Das hängt ein wenig davon ab, was Du unter "konsistent" definierst.

Prüfen kannst Du die Sicherung, indem Du sie in eine andere Datenbank importierst und dort dann ggf. irgendwelche Prüfungen darüber laufen lässt - ob und was da alles geht / sinnvoll ist / machbar ist - hängt ein wenig von der DB-Struktur ab.

carstenj
06.09.16, 14:03
Hi,

naja, mysqlcheck macht im Grunde genau das:
http://dev.mysql.com/doc/refman/5.7/en/mysqlcheck.html
Die Option -e bzw. --extend ist hier hilfreich. Aber das ist eine andere Art von Konsitenz als der zweite Fall.

Hier würde aber nicht logischerweise ein Fehler kommen, denn marce sagt es schon richtig: Es hängt davon ab, wie du das definierst. Wenn ein Dump konsistent ist, bedeutet das, dass die erste Tabelle den gleichen Zeitstempel hat wie die letzte Tabelle, die gesichert wird, auch wenn der Dump 10 Stunden dauert. Wäre der Dump nicht konsistent, könnte es sein, dass Tabelle A einen anderen Zustand hat als Tabelle Z, aber ein "Fehler" wäre das aus Sicht der Datenbank aber nicht.