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 cfz 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 xfz 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.

Pfeil mit CSS erstellen

Mit dem border-Befehl lassen sich in CSS relativ einfach Pfeile erstellen. Dazu braucht man nichts weiter als drei HTML-Elemente und ein paar Zeilen CSS-Code.

Los geht’s mit dem HTML:

View Code HTML5
<div id="pfeil">
<div class="shape1"></div>
<div class="shape2"></div>
</div>

Dann das CSS:

#pfeil {
    width: 50px;
    height: 50px;
    position: relative;
    margin-left: 10px;
}
#pfeil .shape1, #pfeil .shape2 {
    border-width: 40px;
    border-style: solid;
    height: 0;
    width: 0;
    border-color: #000 transparent transparent transparent;
    top: 10px;
    position: absolute;
}
 
#pfeil .shape2 {
    top: 0px;
    border-color: #fff transparent transparent transparent;
}

Das Ergebnis:
CSS Pfeil Demo

Die Erklärung will euch natürlich nicht vorenthalten.
Im Grunde werden hier nur zwei Dreiecke erstellt – eins in schwarz und eins in weiß – und dann übereinander gelegt. Dadurch entsteht ein nach unten zeigender Pfeil, der ähnlich aussieht wie in einer Selectbox.
Die Dreiecke entstehen jeweils aus einem viereckigen Element ohne Höhe und Breite und mit einem 40 Pixel dicken Rahmen. Aber nur der obere Rahmen bekommt eine Farbe, alle anderen Seiten bleiben transparent. Dadurch entsteht die dreieckige Form.

Und die Demo dazu gibt es hier:
http://jsfiddle.net/pGanL/1/

„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

Kategorie: Server