sql >> Database >  >> RDS >> Mysql

MySQL-database kopiëren

Soms moet u de database kopiëren of de database klonen in MySQL om een ​​dubbele database te maken. Zo kopieert u de database in MySQL.

Database kopiëren in MySQL

Hier zijn de stappen om de MySQL-database te kopiëren.

  1. Maak een nieuwe lege database met de instructie CREATE DATABASE
  2. Exporteer alle database-objecten en gegevens naar een nieuwe database met behulp van mysqldump commando
  3. Importeer SQL-dumpbestand in nieuwe database

Bonus lezen:MySQL invoegen in selectie

Laten we eens kijken naar verschillende voorbeelden om de MySQL-database te kopiëren.

MySQL-database kopiëren op dezelfde server

Stel dat u uw database source_db . wilt kopiëren naar nieuwe database destination_db

Log in op MySQL en maak een nieuwe database 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          |
+--------------------+

Exporteer objecten en gegevens van source_db naar een bestand, bijvoorbeeld D:\db.sql. U wordt om een ​​wachtwoord gevraagd.

>mysqldump -u root -p source_db > d:\db.sql
Enter password: **********

Importeer het bestand d:\db.sql naar destination_db

>mysqldump -u root -p destination_db < d:\db.sql
Enter password: **********

De bovenstaande stappen zullen de database met gegevens naar dezelfde server kopiëren.

Bonus Lezen:MySQL Selecteer Top N Rijen

MySQL-databaseschema kopiëren

Als u alleen het databaseschema wilt kopiëren, gebruikt u -d optie in de MySQLdump-opdracht hierboven. Hiermee wordt alleen de databasestructuur gekopieerd en niet de inhoud.

mysql>mysqldump -u root -p -d source_db > d:\db.sql

Importeer de databasestructuur in destination_db zoals voorheen

mysql>mysql -u root -p -d destination_db < d:\db.sql

Bonus Lezen:MySQL Verwijder dubbele records

MySQL-database kopiëren op een andere server

Als u de database naar een andere server wilt kopiëren, moet u vergelijkbare stappen volgen, maar de database-inhoud en objecten naar de doelserver exporteren.

  1. Exporteer de brondatabase naar een SQL-bestand
  2. Kopieer het SQL-bestand naar de doelserver
  3. SQL-bestand importeren in de doeldatabase

Eerst exporteren we de brondatabase source_db naar db.sql

>mysqldump -u root -p --databases source_db > d:\db.sql
Enter password: **********

De –database Met deze optie kunt u CREATE DATABASE- en USE-instructies in uw SQL-bestand opnemen.

Kopieer vervolgens het SQL-bestand naar een andere server (bijv. F:\db.sql)

Importeer ten slotte het SQL-bestand naar de doeldatabase.

>mysql -u root -p destination_db < f:\db.sql 
Enter password: **********

Bonus Lezen:Opgeslagen procedure uitvoeren in Workbench

MySQL-database kopiëren zonder MySQLdump

Als u de database zonder MySQLdump wilt kopiëren, moet u elke tabel in de brondatabase handmatig naar de doeldatabase kopiëren.

Hier is de SQL-query om tabel sales te kopiëren van source_db database naar destination_db database

CREATE TABLE destination_db.sales 
LIKE source_db.sales;

INSERT destination_db.sales 
SELECT *
FROM source_db.sales;

De eerste instructie zal de tabelstructuur in MySQL dupliceren vanuit de brondatabase (bijv. source_db ) naar een ander (bijv. destination_db . De tweede instructie kopieert gegevens van de ene tabel naar de andere. U moet de bovenstaande instructies voor elke databasetabel uitvoeren, of een script schrijven dat de bovenstaande instructie genereert en uitvoert voor alle tabellen in uw database.

Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!

  1. PostgreSQL ERROR:functie to_tsvector (karakter variërend, onbekend) bestaat niet

  2. SQL Server:Hoe krijg ik een refererende sleutelreferentie van information_schema?

  3. Percona XtraDB-cluster bewaken - belangrijkste meetgegevens

  4. Hoe de functie JulianDay() werkt in SQLite