Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So übertragen Sie alle MySQL-Datenbanken vom alten auf den neuen Server

Übertragen oder Migrieren einer MySQL/MariaDB Datenbank zwischen Servern erfordert normalerweise nur wenige einfache Schritte, aber die Datenübertragung kann je nach Datenvolumen, das Sie übertragen möchten, einige Zeit in Anspruch nehmen.

In diesem Artikel erfahren Sie, wie Sie Ihre gesamte MySQL/MariaDB übertragen oder migrieren Datenbanken vom alten Linux-Server auf einen neuen Server, importieren Sie sie erfolgreich und bestätigen Sie, dass die Daten dort sind.

Wichtige Hinweise

  • Stellen Sie sicher, dass auf beiden Servern dieselbe Version von MySQL mit derselben Distribution installiert ist.
  • Stellen Sie sicher, dass auf beiden Servern genügend freier Speicherplatz vorhanden ist, um die Datenbank-Dump-Datei und die importierte Datenbank aufzunehmen.
  • Denken Sie niemals daran, die data zu verschieben Verzeichnis der Datenbank auf einen anderen Server. Verwirren Sie sich niemals mit der internen Struktur der Datenbank, wenn Sie dies tun, werden Sie in Zukunft auf Probleme stoßen.

Exportieren Sie eine MySQL-Datenbank in eine Dump-Datei

Melden Sie sich zunächst bei Ihrem alten Server an und stoppen Sie den mysql/mariadb-Dienst mit systemctl Befehl wie gezeigt.

# systemctl stop mariadb
OR
# systemctl stop mysql

Dann sichern Sie Ihr gesamtes MySQL Datenbanken mit dem Befehl mysqldump in eine einzige Datei.

# mysqldump -u [user] -p --all-databases > all_databases.sql

Sobald der Dump abgeschlossen ist, können Sie die Datenbanken übertragen.

Wenn Sie eine einzelne Datenbank sichern möchten, können Sie Folgendes verwenden:

# mysqldump -u root -p --opt [database name] > database_name.sql

MySQL-Datenbank-Dump-Datei auf neuen Server übertragen

Verwenden Sie nun den scp-Befehl, um Ihre Datenbank-Dump-Datei wie gezeigt auf den neuen Server im Home-Verzeichnis zu übertragen.

# scp all_databases.sql [email protected]:~/       [All Databases]
# scp database_name.sql [email protected]:~/       [Singe Database]

Sobald Sie sich verbinden, wird die Datenbank auf den neuen Server übertragen.

MySQL-Datenbank-Dump-Datei auf neuen Server importieren

Sobald die MySQL-Dump-Datei auf den neuen Server übertragen wurde, können Sie den folgenden Befehl verwenden, um alle Ihre Datenbanken in MySQL zu importieren.

# mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
# mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

Sobald der Import abgeschlossen ist, können Sie die Datenbanken auf beiden Servern mit dem folgenden Befehl in der MySQL-Shell überprüfen.

# mysql -u user -p
# show databases;

MySQL-Datenbanken und Benutzer auf neuen Server übertragen

Wenn Sie alle Ihre MySQL-Datenbanken, Benutzer, Berechtigungen und Datenstrukturen vom alten Server auf den neuen verschieben möchten, können Sie den gesamten Inhalt aus dem mysql/mariadb-Datenverzeichnis wie gezeigt mit dem Befehl rsync auf den neuen Server kopieren.

# rsync -avz /var/lib/mysql/* [email protected]:/var/lib/mysql/ 

Sobald die Übertragung abgeschlossen ist, können Sie den Besitz des Datenverzeichnisses mysql/mariadb auf Benutzer und Gruppe mysql festlegen und dann eine Verzeichnisliste erstellen, um zu überprüfen, ob alle Dateien übertragen wurden.

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

Das ist alles! In diesem Artikel haben Sie gelernt, wie Sie alle MySQL/MariaDB-Datenbanken einfach von einem Server auf einen anderen migrieren können. Wie finden Sie diese Methode im Vergleich zu anderen Methoden? Wir würden gerne von Ihnen über das Kommentarformular unten hören, um uns zu erreichen.