PhpMyAdmin Datenbank Backup

  • Allgemein

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Link.

    Meinst du manuell? Das geht direkt in phpMyAdmin bei "Exportieren". Oder du willst es automatisiert bzw. per Skript, dann musst du das Tool mysqldump via Befehlszeile aufrufen, Benutzername, Passwort und zu sichernde Datenbank(en) angeben inkl.optionaler weiterer Parameter (erweiterte Inserts, Ausgabeformate etc...). Auf welchem Betriebssystem machst du das?

    Link
    Hello World
    Hallo, Automatisch währe ganz schön toll,
    Die Datenbank liegt auf einem Synology Nas, ich Arbeite an eine Windows Station.
    Wenn ich das Skript auch auf Linux ausführen könnte... ich besitze noch 4 Raspberry pi die immer laufen, so währe das Automatische Update sicherer :)
    Hi,

    Linux Befehl (den kannst du entweder direkt in der Linux Konsole (Bash) eingeben oder wenn du es in einem PHP-Skript haben willst PHP via exec("der Befehl"); ausführen. Für zeitgesteuerte / regelmäßige automatische Backups musst du dein Bash-Script in die crontab Datei eintragen. Dazu ganz unten mehr). Hier der Befehl:
    mysqldump --user=Datenbankbenutzer --password=PasswortDesBenutzers --host=localhost --all-databases --result-file=/var/www/wasweissich/backup.sql

    du kannst die Ausgabe auch umleiten, so:
    [tt]mysqldump --user=Datenbankbenutzer --password=PasswortDesBenutzers --host=localhost --all-databases > /var/www/wasweissich/backup.sql[/tt]

    oder du zippst sie direkt (sodass das Backup in einem Archiv vorliegt)
    mysqldump --user=Datenbankbenutzer --password=PasswortDesBenutzers --host=localhost --all-databases | gzip > /var/www/wasweissich/backup.sql.zip

    Wenn du nur bestimmte Datenbanken sichern willst und nicht alle, dann schreibst du anstatt --all-databases einfach --databases NameDerDB1 NameDerDB2 NameDerDB3 UndSoWeiter

    Du kannst Benutzername und Passwort auch anders übergeben: -u DatenbankBenutzer -pDeinPasswort (dass zwischen "-p" und dem Passwort KEIN Leerzeichen steht ist Absicht und muss so sein). Ich persönlich stehe mehr auf die oben in den Beispielen verwendete Schreibweise, aber im Endeffekt ist es egal.

    Es gibt noch viele weitere Einstellungsmöglichkeiten, z.B. --default-character-set=utf8 für die Kodierung zum Beispiel. Aber da kannst du ja mal die manpage durchgehen und schauen was für dich noch relevant ist.

    Weiß der Geier wie das Ganze nun unter Windows geht, aber ich glaube es geht genauso, man muss lediglich für mysqldump den Pfad mit angeben und mysqldump.exe schreiben.

    Was die zeitgesteuerte Ausführung des Skripts angeht, da gibt es auf dieser Seite hier tolle Beschreibungen / Anleitungen :)


    Link :thumbup:
    Hello World