Datenbank-Backup erstellen und Datenbank-Backup wieder einspielen
Heute erkläre ich wie man eine Datenbank von einem zum anderen Server transferiert bzw. wie man ein Datenbank-Backup erstellen und dieses wieder einspielt.
Datenbank-Backup erstellen
Variante #1: Konsole
Damit man ein Datenbank-Backup über die Konsole erstellen kann, muss man sich zunächst per SSH auf dem Server anmelden.
ssh benutzer@serveradresse |
Anschließend braucht man nur einen einzigen Befehl um das Backup der DB anzulegen:
mysqldump -u *benutzername* -p *datenbankname* > /pfad/mysql_backup.sql |
Wer möchte kann das Backup dann noch komprimieren, damit die Datei schneller übertragen wird:
tar cfvz mysql_backup.sql.tar.gz mysql_backup.sql |
Zum Schluss kann die Datei noch heruntergeladen werden oder – wenn das Backup auf einen anderem Server eingespielt werden soll – auch direkt auf den Ziel-Server:
scp benutzer@serveradresse:/pfad/mysql_backup.sql.tar.gz mysql_backup.sql.tar.gz scp mysql_backup.sql.tar.gz benutzer@serveradresse2:/anderer/pfad/mysql_backup.sql.tar.gz |
Ersteres erfordert natürlich, dass zuvor die SSH-Verbindung wieder getrennt wird.
Variante #2: phpMyAdmin
Diese Variante ist wesentlich einfacher als über die Konsole, aufgrund der schlechten Geschwindigkeit für größere Datenbanken allerdings weniger geeignet. Alles was gebraucht wird, ist über phpMyAdmin die Datenbank auszuwählen, auf den Reiter Exportieren zu klicken und folgende Einstellungen zu wählen:
- Häkchen bei Kommentare entfernen
- Senden anhaken
- Als Kompression GZip wählen
PhpMyAdmin bietet die Datenbank anschließend als Download an.
Die Export-Datei muss jetzt noch auf den anderen Server hochgeladen werden. Siehe dazu die Befehle am Ende von Variante #1.
Datenbank-Backup einspielen
Um das DB-Backup wieder einzuspielen, muss man sich auch hier wieder Konsolen-Zugriff auf dem Zielsystem haben (z.B. per SSH). Doch bevor wir das Backup einspielen sollte in erst ein Backup der alten Datenbank angelegt werden (man weiß ja nie).
mysqldump -u *benutzername* -p *datenbankname* > /pfad/mysql_backup_orig.sql |
Jetzt muss die Backup-Datei natürlich noch dekomprimiert werden:
tar xfvz mysql_backup.sql.tar.gz |
Achtung: Wenn ein komprimierter PhpMyAdmin-Export eingespielt werden soll, lautet der Befehl zum Dekomprimieren (Dateiendung .sql.gz):
gunzip mysql_backup.sql.gz |
Und jetzt noch der finale Befehl zum Einspielen des Backups:
mysql -u *benutzername* -p *datenbankname* < mysql_backup.sql |
Nach der Passworteingabe ist das Backup fertig eingespielt.
Warum nicht per phpMyAdmin?
Jetzt fragen sich natürlich einige zu Recht, warum soll ich das Datenbank-Backup nicht wieder über phpMyAdmin einspielen?
Wenn die Datenbank recht klein ist, macht das durchaus Sinn, weil es so natürlich komfortabler und schneller geht, aber sobald man größere Datenbanken bewegen muss, ist die Konsole die wesentlich performantere und sichere Variante. Der PHP-Interpreter und der HTTP-Upload verlangsamen den Import über phpMyAdmin ungemein.
„www.“ – ein Relikt aus dem letzten Jahrhundert
Nein, mit „www.“ ist nicht das Internet im Ganzen gemeint, sondern lediglich die Subdomain „www.“, die immer noch von vielen Websites vor die Hauptdomain angefügt wird. Und das obwohl sie schon lange überflüssig geworden ist. Schon lange können so gut wie alle Domains ganz ohne „www.“ aufgerufen werden – zur Freude des Nutzers, denn so lassen sich Websites viel schneller eintippen. Auch meine Websites (http://bengine.de, http://web-union.de und http://league4u.de) kommen schon seit etlichen Jahren ohne das lästige „www.“ aus. Der Besucher wird bei Eingabe von „www.“ sogar still auf die Hauptdomain weitergeleitet. Dennoch setzt der Großteil des Webs immer noch auf „www.“ Aber warum? Genau darum geht es in dem folgenden Artikel.
» Weiterlesen
How To: Daten-Backup eines Webhostings unter Linux
Wer einen eigenen Webserver betreibt, sei es privat oder geschäftlich, sollte sich auf jeden Fall mit dem Thema Daten-Backups beschäftigen. Es kann immer mal passieren, dass Daten verloren gehen. Ob nun ein Hackerangriff Daten zerstört hat, die Anwendung nach einem Update nicht mehr lauffähig ist oder man selbst aus Versehen Dateien gelöscht hat, wenn in so einer Situation ein Backup existiert, erspart man sich viel Zeit und Nerven. Aber wie sichert man die Daten auf einem Webserver am einfachsten? Das hier beschriebene Vorgehen verwendet größtenteils einfache Linux-Boardmittel und benötigt zur Einrichtung lediglich ein Root-Zugang zum Server.
» Weiterlesen