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.
- Maak een nieuwe lege database met de instructie CREATE DATABASE
- Exporteer alle database-objecten en gegevens naar een nieuwe database met behulp van mysqldump commando
- 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.
- Exporteer de brondatabase naar een SQL-bestand
- Kopieer het SQL-bestand naar de doelserver
- 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!