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

MySQL-Kopierdatenbank

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.

  1. Erstellen Sie eine neue leere Datenbank mit der CREATE DATABASE-Anweisung
  2. Exportieren Sie alle Datenbankobjekte und Daten mit mysqldump in eine neue Datenbank Befehl
  3. 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.

  1. Exportieren Sie die Quelldatenbank in eine SQL-Datei
  2. Kopieren Sie die SQL-Datei auf den Zielserver
  3. 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!