Manchmal müssen Sie möglicherweise eine Datenbank kopieren oder eine Datenbank in MySQL klonen, um eine doppelte Datenbank zu erstellen. So kopieren Sie die Datenbank in MySQL.
So kopieren Sie eine Datenbank in MySQL
Hier sind die Schritte zum Kopieren der MySQL-Datenbank.
- Erstellen Sie eine neue leere Datenbank mit der CREATE DATABASE-Anweisung
- Exportieren Sie alle Datenbankobjekte und Daten mit mysqldump in eine neue Datenbank Befehl
- SQL-Dump-Datei in neue Datenbank importieren
Bonus-Lesetext:MySQL-Insert in Select
Sehen wir uns verschiedene Beispiele zum Kopieren der MySQL-Datenbank an.
MySQL-Datenbankkopie auf demselben Server
Angenommen, Sie möchten Ihre Datenbank source_db kopieren in die neue Datenbank destination_db
Melden Sie sich bei MySQL an und erstellen Sie eine neue Datenbank destination_db
mysql> create database destination_db; mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | dashboard | | destination_db | | fedingo | | mysql | | performance_schema | | sample | | source_db | | testdb | | wordpress | +--------------------+
Objekte und Daten von source_db exportieren in eine Datei, sagen wir, D:\db.sql. Sie werden nach einem Passwort gefragt.
>mysqldump -u root -p source_db > d:\db.sql Enter password: **********
Importieren Sie die Datei d:\db.sql in destination_db
>mysqldump -u root -p destination_db < d:\db.sql Enter password: **********
Die obigen Schritte kopieren die Datenbank mit Daten auf denselben Server.
Bonus-Lesetext:MySQL wählt die oberen N Zeilen aus
MySQL-Datenbankschema kopieren
Wenn Sie nur das Datenbankschema kopieren möchten, verwenden Sie -d Option im obigen MySQLdump-Befehl. Dadurch wird nur die Datenbankstruktur und nicht der Inhalt kopiert.
mysql>mysqldump -u root -p -d source_db > d:\db.sql
Importieren Sie die Datenbankstruktur in destination_db wie zuvor
mysql>mysql -u root -p -d destination_db < d:\db.sql
Bonus-Leseartikel:MySQL entfernt doppelte Datensätze
MySQL-Datenbank auf einem anderen Server kopieren
Wenn Sie die Datenbank auf einen anderen Server kopieren möchten, müssen Sie ähnliche Schritte ausführen, aber den Datenbankinhalt und die Objekte auf den Zielserver exportieren.
- Exportieren Sie die Quelldatenbank in eine SQL-Datei
- Kopieren Sie die SQL-Datei auf den Zielserver
- SQL-Datei in die Zieldatenbank importieren
Zuerst exportieren wir die Quelldatenbank source_db zu db.sql
>mysqldump -u root -p --databases source_db > d:\db.sql Enter password: **********
Die –Datenbank Mit dieser Option können Sie CREATE DATABASE- und USE-Anweisungen in Ihre SQL-Datei aufnehmen.
Als nächstes kopieren Sie die SQL-Datei auf einen anderen Server (z. B. F:\db.sql)
Importieren Sie abschließend die SQL-Datei in die Zieldatenbank.
>mysql -u root -p destination_db < f:\db.sql Enter password: **********
Bonuslektüre:So führen Sie gespeicherte Prozeduren in der Workbench aus
MySQL-Datenbank kopieren ohne MySQLdump
Wenn Sie die Datenbank ohne MySQLdump kopieren möchten, müssen Sie jede Tabelle in der Quelldatenbank manuell in die Zieldatenbank kopieren.
Hier ist die SQL-Abfrage zum Kopieren der Tabelle sales aus source_db Datenbank zu destination_db Datenbank
CREATE TABLE destination_db.sales LIKE source_db.sales; INSERT destination_db.sales SELECT * FROM source_db.sales;
Die erste Anweisung dupliziert die Tabellenstruktur in MySQL aus der Quelldatenbank (z. B. source_db ) zu einer anderen (z. B. destination_db . Die zweite Anweisung kopiert Daten von einer Tabelle in eine andere. Sie müssen die obigen Anweisungen für jede Datenbanktabelle ausführen oder ein Skript schreiben, das die obige Anweisung für alle Tabellen in Ihrer Datenbank generiert und ausführt.
Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!