Wenn der Blog wächst, man so wie so mehrere Server hat oder man etwas mehr Sicherheit möchte (z.B. bei Datenverlust durch Festplatten Defekt) ist es sinnvoll, nicht den Blog und dessen Datenbank auf dem selben Server zu hosten. Wie man die Datenbank auf einen anderen Server bekommt und dann dafür sorgt, dass WordPress auf den externen Datenbank Server zugreift – darum geht es jetzt.

WP Server = Der Server, auf dem WordPress installiert ist und auf den zugegriffen wird, wenn man auf die Domain des Blogs geht.
DB Server = Der Server, der die MySQL Datenbank FÜR WordPress hosten soll / wird.

Je nachdem, wie viele Nutzer ein Blog hat, sollte man diese Operation möglichst nachts machen, da es vorkommen kann, dass der Blog während dieser Operation nicht erreichbar sein könnte (daher beim Aufrufen eine Fehlermeldung kommt).

Datenbank sichern

1. Mit dem WP Server per SSH verbinden
2. Folgenden Befehl ausführen:

mysqldump -u root -p[MySQL Root Passwort] [Name der Blog-Datenbank] > [ein Dateiname].sql

Der Name der Blog Datenbank kann in der wp-config.php Datei im WP Ordner nachgeschaut werden.
Dieser Befehl schreibt die gesamte Blog Datenbank in eine .sql Datei.

Remote Datenbank einrichten

1. Mit dem DB Server per SSH verbinden

2. MySQL installieren per

apt-get update && apt-get upgrade && apt-get install mysql-server

Nun die .sql Datei vom WP Server laden per

scp root@[IP oder Domain des WP Servers]:/[Pfad zur .sql Datei] ./

Ggf den Host bestätigen per y und Enter. Anschließend das Root Passwort des WP Servers eingeben und schon wird die Datei direkt übertragen.

3. Die Datei /etc/mysql/my.cnf in nano öffnen:

nano /etc/mysql/my.cnf

4. Nun unter [mysqld] die Zeile „bind-address = 127.0.0.1“ suchen. Hier „127.0.0.1“ zur IP Adresse des DB Server ändern. Die Datei per Strg + O, Enter speichern und nano per Strg + X schließen.

5. MySQL per

service mysql restart

neustarten.

6. Folgende Befehle ausführen:

mysql -u root -p
[MySQL Root Passwort eingeben]
create database [Name für die neue WordPress Datenbank. Muss nicht der Gleiche wie auf dem WP Server sein];
create user [neuer Nutzername]@[IP des WP Server] identified by ‚[Passwort festlegen]‘;
grant all privileges on [Name der neuen WP Datenbank].* to [neuer User]@[IP des WP Servers];
flush privileges;
exit
mysql -u root -p[MySQL Root Passwort] [Name der neuen WP Datenbank] < [Name der .sql Datei]

Fast fertig!

1. Nun wieder mit dem WP Server per SSH verbinden und folgendes ausführen:

apt-get install mysql-client
mysql -u [Nutzername, oben erstellt] -h [IP des DB Servers] -p
[Passwort eingeben]
exit

Wenn man in MySQL rein gekommen ist, war alles erfolgreich!!

2. wp-config.php per

nano /var/www/[Name des WP Ordners]/wp-config.php

öffnen und den Namen der Datenbank, den Nutzernamen und das Passwort falls nötig anpassen (mit den Daten, die man auf dem DB Server festgelegt hat). Und das Wichtigste: bei DB Host aus dem „localhost“ die IP des DB Servers machen.

3. Ein

service apache2 reload

schadet nie 😉

4. Blog testen!! Wenn soetwas wie „Error establishing database connection“ kommt, folgendes machen:

– Reboot tut immer gut ( > „reboot“ ).
– Sicherstellen, dass MySQL auf dem DB Server läuft. Das kann per „service mysql status“ eingesehen werden. Kommt „stop/waiting“: ein „service mysql start“ probieren, falls hier eine Fehlermeldung kommt 1. Server per „reboot“ neustarten und 2. überprüfen, dass man in die /etc/mysql/my.cnf wirklich die IP des DB Servers eingetragen hat.
– Den 1. Punkt nach „Fast fertig!“ durchführen. Kommt man so in MSQL rein, hat man beim Anpassen der wp-config.php auf dem WP Server wohl einen Fehler gemacht. Kommt stattdessen eine Meldung wie, dass die IP nicht zugelassen ist: wieder sicherstellen, dass auf dem DB Server in der /etc/mysql/my.cnf die richtige, vollständige IP des DB Servers drin steht. Außerdem sicherstellen, dass man den Nutzer „[Username]@[IP des WP Servers]“ in MySQL gestellt hat und den „grant all privileges on…“ Befehl nicht vergessen hat.
– Sicherstellen, dass man in der my.cnf und wp-config.php die Syntax beibehalten hat und „nichts aus der Reihe tanzt“.

Wenn der Fehler immernoch nicht behoben wurde: bitte ein (konstruktives – daher NICHT „geht nicht“) Kommentar da lassen und ich werde darauf antworten.

Wenn alles läuft: supi, die Datenbank von WordPress ist nun auf einen externen Remote Server ausgelagert 🙂

[HowTo] Remote Datenbank für WordPress einrichten
Markiert in:                                                                                 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.