Neben dem Export der Datenbankinhalte über das ab der Grundversion in Contentpapst integrierte Modul "Sicherung" gibt es noch zwei weitere Möglichkeiten, das System manuell oder gar automatisch zu bestimmten Zeiten zu sichern: phpMyAdmin und mysqldump.
phpMyAdmin ist ein sehr bekanntes Tool für die Administration von MySQL-Datenbanken. Das Tool ist kostenlos und besitzt die gleichen Systemanforderungen wie Contentpapst, kann also entsprechend auf jedem Server installiert werden, auf dem bereits eine Contentpapst-Installation läuft. Bei vielen Webhostern wird phpMyAdmin zudem bereits standardmäßig bereitgestellt (meist über einen zentralen Kundenbereich). phpMyAdmin kann unter www.phpmyadmin.net kostenlos heruntergeladen werden
Das Tool bietet neben den üblichen Funktionen zur Arbeit mit Datenbankinhalten auch umfangreiche Im- und Exportfunktionen für die Datenbanktabellen und -inhalte. U.a. kann dort der Export der Datensätze im CSV-, XML- und SQL-Format durchgeführt werden.
Um über phpMyAdmin ein Backup der von Contentpapst verwendeten Datenbanktabellen anzulegen, müssen zuerst alle Datenbanktabellen ausgewählt werden, deren Tabellenname mit dem bei der Installation gewählten Präfix beginnt. Wurde z.B. bei der Installation "cp" als Datenbankpräfix eingegeben, so müssen alle mit "cp_" beginnenden Datenbanktabellen ausgewählt werden. In den Export-Optionen sind zusätzlich folgende Optionen zu aktivieren:
Sobald nun das Formular abgeschickt wird, generiert phpMyAdmin das Backup der Datenbank. Über die Option "Senden" kann das Backup direkt in eine Datei geschrieben werden, andernfalls wird das Backup in Notepad oder einem anderen Textbearbeitungsprogramm geöffnet und kann dann dort abgespeichert werden.
Das zweite Tool, welches in diesem Artikel besprochen werden soll, ist das bei jeder MySQL-Datenbank mitgelieferte Tool "mysqldump". Dieses ermöglicht im Gegensatz zu phpMyAdmin und den in Contentpapst integrierten Backup-Funktionen auch die automatisierte Erstellung von Backups zu festgelegten Zeiten. Z.B. lässt sich über mysqldump einmal täglich oder auch wöchentlich ein Backup der Datenbank anlegen.
Für den Einsatz von mysqldump ist ein Linux/Unix-basierter Server erforderlich und es wird ein direkter Zugriff auf den Server (bspw. über SSH) benötigt. In der Regel wird der Einsatz von mysqldump also nur bei Root- oder Managed-Servern möglich sein.
mysqldump kann manuell über die Shell (die Kommandozeile) oder automatisch über einen Cronjob angesprochen werden. Die verfügbaren Parameter für den Aufruf von mysqldump können unter http://dev.mysql.com/doc/mysql/en/mysqldump.html sowie in den manpages nachgelesen werden. Letzere können über folgende Befehle aufgerufen werden
mysqldump --help
main mysqldump
Um nun beispielsweise ein Backup einer kompletten Datenbank anzulegen, muss ein Befehl wie dieser eingeben werden:
mysqldump -u [BENUTZERNAME] -p[PASSWORT] [DATENBANKNAME] > [DATEINAME]
Die Werte "[BENUTZERNAME]", "[PASSWORT]", "[DATENBANKNAME]" und "[DATEINAME]" sind dabei durch die Datenbankverbindungsdaten zu ersetzen. Die eckigen Klammern müssen entfernt werden und dienen hier nur der Veranschaulichung. Für "[DATEINAME]" ist der Name einer beliebigen Datei anzugeben (inkl. des Pfades), in welche das Backup geschrieben werden soll.
Mit dem Datenbankbenutzer "tester" und dem Passwort "geheimespasswort" ist ein Backup einer Datenbank mit dem Namen "testdatenbank" in die Datei "backup.sql" also mit folgendem Aufruf möglich:
mysqldump -u tester -pgeheimespasswort testdatenbank > backup.sql
Damit die SQL-Befehle im Backup das gleiche Format besitzen, wie bei phpMyAdmin mit der Option "Vollständige INSERT's", sollte der Aufruf jedoch insgesamt wiefolgt aufgebaut sein:
mysqldump -u [BENUTZERNAME] -p[PASSWORT] -c --add-drop-table [DATENBANKNAME] > [DATEINAME]
mysqldump ist vor allem von Vorteil, wenn regelmäßige Backups notwendig sind und die Datenbankinhalte insgesamt bereits größer als 3-4 MB sind. mysqldump arbeitet hier wesentlich schneller als phpMyAdmin und unterliegt auch keinen Einschränkungen in der Laufzeit.
Bitte geben Sie eine Bewertung ab: |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |