Skip to content

Sicherung und Wiederherstellung ​

Rechtsklick auf eine Datenbank und Sicherung / Wiederherstellung. Beide Richtungen liegen im selben Tab.

Sichern ​

  1. Wechseln Sie in den Modus Backup.
  2. Wählen Sie die Ausgabedatei.
  3. Daten einbeziehen — an für eine vollständige Sicherung, aus für eine reine Strukturaufnahme.
  4. Starten.

Ein Fortschrittsbalken begleitet den Dump, und das Ergebnis meldet, wie viele Objekte geschrieben wurden.

Die Ausgabe ist eine gewöhnliche .sql-Datei: CREATE-Anweisungen und, wenn Daten einbezogen sind, INSERTs. Sie können sie lesen, vergleichen, in die Versionsverwaltung legen und mit jedem Werkzeug einspielen, das SQL spricht — nichts daran ist NabuSQL-spezifisch.

Jede Tabelle kommt mit ihrer vollständigen Struktur — Schlüssel, Indizes, Sequenzen und Identity-Spalten, Typen — und ihren Triggern, und auf die Tabellen folgen die Sichten, Prozeduren und Funktionen der Datenbank. Fremdschlüssel und Trigger stehen am Ende der Datei, sodass das Einspielen weder von der Tabellenreihenfolge abhängt noch Trigger auf den eingespielten Zeilen auslöst. Was ein Dump enthält beschreibt die Einzelheiten pro System.

Unter MariaDB beginnt die Datei mit den Sequenzen der Datenbank, jede so gesetzt, dass sie dort weiterzählt, wo sie stand — eine Spalte mit NEXTVAL-Default nummeriert also weiter, ohne einen Wert doppelt zu vergeben, auch wenn die Sicherung unter einem anderen Datenbanknamen eingespielt wird. Systemversionierte Tabellen kommen versioniert zurück, mit ihren aktuellen Zeilen; ihr Zeilenverlauf beginnt neu. Unter MySQL und MariaDB werden Binärspalten — Bilder, Dateien, VECTOR — Byte für Byte als Hex-Literale geschrieben.

Sicherungen aus Version 1.0.109 oder älter

Unter MySQL und MariaDB schrieben diese Versionen Binärwerte, die kein gültiger Text waren, als Platzhalter '<binary N bytes>' statt ihrer Bytes. Eine solche Sicherung lässt sich fehlerfrei einspielen, aber diese Zellen enthalten den Platzhalter. Wenn Sie Sicherungen von Tabellen mit Bildern oder Dateien aufbewahren, erstellen Sie eine neue.

Wiederherstellen ​

  1. Wechseln Sie in den Modus Restore und wählen Sie die Datei.
  2. Stellen Sie die Optionen ein:
OptionWirkung
Löschen, falls vorhandenLöscht jedes Objekt vor dem Neuanlegen. Nötig beim Einspielen über eine bestehende Datenbank
Fremdschlüsselprüfung deaktivierenSchaltet FK-Prüfungen während der Wiederherstellung ab, damit Tabellen in beliebiger Reihenfolge laden können
Bei Fehler fortfahrenMacht nach einer fehlgeschlagenen Anweisung weiter, statt anzuhalten
  1. Starten. Der Fortschritt erscheint als Prozentwert mit laufender Fehlerzahl.

Eine Wiederherstellung lässt sich während des Laufs abbrechen.

Am Ende meldet NabuSQL, wie viele Anweisungen von wie vielen erfolgreich waren, und listet die gesammelten Fehler — Sie erfahren, was nicht eingespielt wurde, statt anzunehmen, es sei alles gut gegangen.

Wiederherstellen überschreibt

Mit aktiviertem Löschen, falls vorhanden werden vorhandene Objekte in der Zieldatenbank gelöscht und ersetzt. Spielen Sie erst in eine Testdatenbank ein, wenn Sie den Inhalt der Datei nicht sicher kennen.

Schnellere Wege ​

  • Dump SQL file ▸ an einer Datenbank oder Tabelle (Rechtsklick) schreibt Struktur oder Struktur+Daten direkt heraus, ohne den Sicherungs-Tab. An Tabellen kann es auch eine Stichprobe der Zeilen schreiben.
  • ▶ SQL-Datei ausführen an einer Datenbank spielt jede .sql-Datei ein — das manuelle Gegenstück zur Wiederherstellung.

Sicherungen automatisieren ​

Der Aufgabenplaner kann eine Sicherung in Intervallen ausführen.

Der Planer läuft nur, solange NabuSQL geöffnet ist

Er gehört zur Anwendung und ist kein Systemdienst. Für unbeaufsichtigte Sicherungen eines Produktionsservers nutzen Sie den Planer Ihres Betriebssystems mit mysqldump, pg_dump oder einem Äquivalent.

Was eine Sicherung nicht abdeckt ​

Der Dump einer Datenbank enthält diese Datenbank. Dinge auf Serverebene — Benutzer und Rechte, Serverkonfiguration, andere Datenbanken — stehen nicht darin. Zu MySQL-Benutzern und -Rechten siehe Benutzerverwaltung.

Ein Dump lässt sich nur auf demselben Systemtyp einspielen

Die Datei ist im SQL des Quellsystems geschrieben — dessen Quotierung von Bezeichnern, dessen Typen, dessen AUTO_INCREMENT und ENGINE=. Einen MySQL-Dump in PostgreSQL einzuspielen scheitert an der ersten Anweisung. Um eine Datenbank zwischen Systemen zu bewegen, nutzen Sie die Datenübertragung, die die Struktur für das Ziel neu erzeugt, statt das SQL der Quelle nachzuspielen.