sql >> Databasteknik >  >> RDS >> Mysql

MySQL kopieringsdatabas

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.

  1. Skapa en ny tom databas med CREATE DATABASE-satsen
  2. Exportera alla databasobjekt och data till ny databas med mysqldump kommando
  3. 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.

  1. Exportera källdatabasen till en SQL-fil
  2. Kopiera SQL-filen till destinationsservern
  3. 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!

  1. Visa framsteg medan du gör Inbackground

  2. Felsökning av CPU-prestanda på VMware

  3. Hur man behåller STORA BLOB (>100MB) i Oracle med Hibernate

  4. Hur man får första raden per grupp i PostgreSQL