3 - Anpassung der Datenbanken auf einem Server bei einer neuen IP Adresse

Oft speichern Anwendungen Daten wie bspw. die IP Adresse in Datenbanken. Damit dies keine Probleme bei der Umstellung einer IP Adresse macht, müssen die Einträge in den Datenbanken ebenfalls angepasst werden.

Wichtig: Erstellen Sie unbedingt vor der Ausführung einer der beiden Methoden ein Backup aller relevanten Datenbanken.

Es gibt es zwei Möglichkeiten die Einträge in den Datenbanken anzupassen. Wir empfehlen die erste Methode für Anfänger und Nutzer mit durchschnittlichen Kenntnissen. Die zweite Methode ist für fortgeschrittene Nutzer geeignet, da diese zwar schneller geht aber dafür durch Flüchtigkeitsfehler Datenbanken kaputt machen kann.:

1 - Sie haben phpmyadmin in Verwendung

phpmyadmin bietet eine Suchfunktion pro Datenbank an. Gehen Sie dazu wie folgt vor:

1.1 Loggen Sie sich in phpmyadmin ein

1.2 Klicken Sie Links auf die oberste Datenbank

1.3 Klicken Sie auf "Exportieren" und dann auf "OK", um ein Datenbank Backup herunterzuladen.

 

1.4. Klicken Sie auf "Suche"

 

1.5. Geben Sie in das Suchfeld die IP Adresse Ihres Servers ein (im Beispielscreenshot 1.1.1.1) und wählen Sie alle Tabellen aus der angegebenen Liste aus.

Beachten Sie bitte: Wenn Sie nicht alle Tabellen auswählen, können Sie eventuell Einträge nicht finden. Um alle Tabellen auszuwählen, klicken Sie auf den ersten Eintrag (im Beispiel ALL_PLUGINS), scrollen Sie in der Liste ganz nach unten, halten Sie die SHIFT-Taste gedrückt und klicken Sie auf den letzten Eintrag. Dadurch wählen Sie alle Einträge (von oben bis unten) aus.

 

1.6. Klicken Sie auf OK.

1.7. Ihnen wird eine Liste aller Tabellen in der Datenbank angezeigt. Sollte ein Treffer gefunden sein, können Sie etwas weiter rechts auf "Anzeigen" klicken.

 

1.8. Nachdem Sie auf "Anzeigen" geklickt haben, werden Ihnen die gefundenen Ergebnisse aus der jeweiligen Tabelle angezeigt. Sie können dann durch einen Klick auf "Bearbeiten" den Wert editieren. Sollte keine "Bearbeiten" Option existieren, kann der Eintrag nicht editiert werden. Entweder ist dann eine Bearbeitung nicht nötig oder Sie müssen den Hersteller der Software, die die Datenbank verwendet (und erstellt hat) kontaktieren.

 

1.9. Scrollen Sie wieder hoch zur Liste der gefundenen Einträge. Wiederholen Sie die Schritte 1.7 und 1.8 für alle Tabellen, in denen Treffer gefunden wurden.

1.10. Klicken Sie links auf die nächste Datenbank und wiederholen Sie die Schritte 1.3 bis 1.9 für alle Datenbanken auf Ihrem Server außer information_schema und performance_schema.

 

2 - Sie verwenden phpmyadmin nicht

Sollten Sie phpmyadmin nicht installiert haben, können Sie entweder phpmyadmin installieren und Option 1 wählen oder folgendes durchführen:

2.1. Loggen Sie sich in Ihren Datenbankserver ein:

mysql -u root -p

2.2. Lassen Sie sich alle Datenbanken anzeigen:

SHOW DATABASES;

2.3. Notieren Sie sich die Liste der Datenbanken und gehen Sie aus der SQL Konsole raus:

exit;

2.4 Erstellen Sie ein Arbeitsverzeichnis, ein temporäres Verzeichnis und wechseln Sie in das Arbeitsverzeichnis

mkdir /datenbankbackup && mkdir /datenbanktemp && cd /datenbanktemp

2.4. Gehen Sie folgende Befehle für alle Datenbanken außer information_schema und performance_schema durch und ersetzen Sie DBNAME an allen drei Stellen mit dem Namen der jeweiligen Datenbank (Sie müssen Ihr mysql root-Passwort jedes Mal eingeben, nachdem Sie den ersten Befehl ausgeführt haben):

mysqldump -u root -p DBNAME > DBNAME.sql

cp DBNAME.sql /datenbankbackup

Wichtig: Wenn Sie DBNAME an einer Stelle nicht ersetzen oder vergessen den Datenbanknamen auszutauschen, kann dies schwerwiegende Datenbank Fehler verursachen. (Bspw. kann es dadurch passieren, dass Sie eine falsche Datenbank in eine andere Datenbank importieren)

2.5 Sie sollten nun in /datenbankbackup und /datenbanktemp jeweils eine Datei für jede Datenbank haben. Dies können Sie mit folgendem Befehl prüfen:

ls -lh /datenbankbackup

ls -lh /datenbanktemp

Sie können zur Verifizierung schauen, ob die Dateigrößen gleich sind. (im Screenshot mit jeweils zwei Pfeilen der gleiche Farbe markiert)

2.6 Sie können nun folgenden Befehl verwenden, um die IP Adresse in allen Dantenbank Backups in /datenbanktemp zu ändern:

Warnung: Der folgende Befehl führt Änderungen an Ihren Dateien durch:

grep -rwl '/datenbanktemp' -e 'IPADRESSE' | xargs sed -i 's/IPADRESSE/NEUEIPADRESSE/g'

Bitte beachten Sie folgendes:

  • Vergessen Sie nicht im hinteren Teil des Befehls ebenfalls IPADRESSE durch Ihre alte IP Adresse und NEUEIPADRESSE durch Ihre neue IP Adresse zu ersetzen. Sollten Sie dies vergessen, kann dies Fehler in Ihrem System verursachen. Sollten Sie gemerkt haben, dass Sie einen Fehler gemacht haben, empfehlen wir keine weiteren Befehle einzugeben und unseren Kundensupport zu kontaktieren.
  • Es ist möglich, dass der Befehl mehrere Minuten für die Verarbeitung braucht, da dabei alle Datenbank Backups durchlaufen werden. Sollte der Befehl länger als 5 Minuten bei der Ausführung brauchen, empfehlen wir unseren Kundensupport zu kontaktieren.
  • Wäre beispielsweise Ihre alte IP Adresse 1.1.1.1 und Ihre neue IP Adresse 2.2.2.2, würde der Befehl so aussehen:  grep -rwl '/datenbanktemp' -e '1.1.1.1' | xargs sed -i 's/1.1.1.1/2.2.2.2/g'

2.7 Importieren Sie die Datenbanken wieder, indem Sie für alle Datenbanken folgenden Befehl ausführen:

mysqldump -u root -p DBNAME < DBNAME.sql

Beachten Sie hierbei, dass sich die Richtung des ">" auf "<" geändert hat.

 

Haben Sie eine der beiden Varianten durchgeführt, starten Sie bitte Ihren Server über das Kundencenter oder den "reboot" Befehl neu. Sollten Sie die Anpassung der Konfigurationsdateien und die Anpassung der Datenbanken durchgeführt haben und Ihre Services sind immer noch nicht erreichbar, empfehlen wir die Logdateien der jeweiligen Anwendung zu überprüfen. Falls Sie dort keine Fehler finden oder nicht wissen, wo sich die Logdateien befinden, kontaktieren Sie bitte unseren Kundensupport.

 

Quelle:

https://stackoverflow.com/questions/4822638/find-and-replace-entire-mysql-database/24652842

War diese Antwort hilfreich? 23 Benutzer fanden dies hilfreich (66 Stimmen)