Ibland kan du behöva kopiera databas eller klona databas i MySQL för att skapa dubblettdatabas. Så här kopierar du databasen i MySQL.
Hur man kopierar databas i MySQL
Här är stegen för att kopiera MySQL-databas.
- Skapa en ny tom databas med CREATE DATABASE-satsen
- Exportera alla databasobjekt och data till ny databas med mysqldump kommando
- Importera SQL-dumpfil till ny databas
Bonus Läs:MySQL Infoga i Välj
Låt oss titta på olika exempel för att kopiera MySQL-databas.
MySQL-kopieringsdatabas på samma server
Låt oss säga att du vill kopiera din databas source_db till ny databas destination_db
Logga in på MySQL och skapa en ny databas 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 | +--------------------+
Exportera objekt och data för source_db till en fil, säg D:\db.sql. Du kommer att bli tillfrågad om ett lösenord.
>mysqldump -u root -p source_db > d:\db.sql Enter password: **********
Importera filen d:\db.sql till destination_db
>mysqldump -u root -p destination_db < d:\db.sql Enter password: **********
Ovanstående steg kommer att kopiera databas med data till samma server.
Bonusläsning:MySQL Välj Top N Rows
MySQL Copy Database Schema
Om du bara vill kopiera databasschema, använd -d alternativet i MySQLdump-kommandot ovan. Detta kopierar endast databasstrukturen och inte innehållet.
mysql>mysqldump -u root -p -d source_db > d:\db.sql
Importera databasstrukturen till destination_db som tidigare
mysql>mysql -u root -p -d destination_db < d:\db.sql
Bonusläsning:MySQL Ta bort dubbletter av poster
MySQL-kopieringsdatabas på en annan server
Om du vill kopiera databasen på en annan server måste du följa liknande steg men exportera databasinnehållet och objekten till destinationsservern.
- Exportera källdatabasen till en SQL-fil
- Kopiera SQL-filen till destinationsservern
- Importera SQL-fil till destinationsdatabasen
Först exporterar vi källdatabasen source_db till db.sql
>mysqldump -u root -p --databases source_db > d:\db.sql Enter password: **********
–databasen alternativet låter dig inkludera CREATE DATABASE och USE-satser i din SQL-fil.
Kopiera sedan SQL-filen till en annan server (t.ex. F:\db.sql)
Importera slutligen SQL-filen till destinationsdatabasen.
>mysql -u root -p destination_db < f:\db.sql Enter password: **********
Bonus Läs:Hur man kör lagrad procedur i Workbench
MySQL-kopieringsdatabas utan MySQLdump
Om du vill kopiera databasen utan MySQLdump, måste du manuellt kopiera varje tabell i källdatabasen till destinationsdatabasen.
Här är SQL-frågan för att kopiera tabellen försäljning från source_db databas till destination_db databas
CREATE TABLE destination_db.sales LIKE source_db.sales; INSERT destination_db.sales SELECT * FROM source_db.sales;
Den första satsen kommer att duplicera tabellstrukturen i MySQL från källdatabasen (t.ex. källa_db ) till en annan (t.ex. destination_db . Den andra satsen kopierar data från en tabell till en annan. Du måste köra ovanstående satser för varje databastabell, eller skriva ett skript som genererar och kör ovanstående sats för alla tabeller i din databas.
Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!