seeseekey.net - Invictus Deus Ex Machina

Möchte man mittels “mysqldump” die einzelnen Datenbanken einer MySQL-Installation sicheren, so sähe das so für eine Datenbank in etwa so aus:

mysqldump -u root -p<passwort> --result-file=example.sql --databases example

Packt man das nun ein Skript, muss jede Tabelle von Hand in dieses Skript eintragen werden. Allerdings könnte man das ganze auch über den SQL Befehl “SHOW DATABASES” lösen und das ganze in ein automatisches Skript gießen. Auf der Webseite dev.mensfeld.pl findet man ein solches Skript. Ich habe das ganze kleineren Modifikationen unterzogen (so wird z.B. die “performance_schema” Tabelle nicht mitgesichert) und auf GitHub zur Verfügung gestellt.

2 Kommentare

  1. Vielleicht sollte man noch erwähnen, so kommt das Passwort in die bash History, was eigentlich vermieden werden sollte. Also wenn man den Befehl direkt ausführt und nicht innerhalb eines Skriptes.

    In der Konsole kann man das Passwort auch weglassen, dann wird nachgefragt und nichts erscheint in der History:
    mysqldump -u root -p –result-file=example.sql –databases example

    Ich mache es so:
    mysqldump -u root datenbankname -p > pfad/file.sql

    Antworten

  2. Wenn man sich alle Datenbanken dumpen lassen will, kann man auch einfach »mysqldump -A« verwenden. Schreibt dann halt alles in eine Datei. Aber aus dieser kann man auch mit Hilfe von grep seine bestimmte Datenbank heraus holen.

    Gruß

    Antworten

Schreibe einen Kommentar

You have to agree to the comment policy.