sql >> Database teknologi >  >> RDS >> Mysql

MySQL kopidatabase

Nogle gange skal du muligvis kopiere databasen eller klone databasen i MySQL for at oprette duplikatdatabase. Sådan kopierer du databasen i MySQL.

Sådan kopierer du database i MySQL

Her er trinene til at kopiere MySQL-databasen.

  1. Opret en ny tom database ved hjælp af CREATE DATABASE-sætningen
  2. Eksporter alle databaseobjekter og data til ny database ved hjælp af mysqldump kommando
  3. Importer SQL-dumpfil til ny database

Bonus Læs:MySQL Indsæt i Vælg

Lad os se på forskellige eksempler på at kopiere MySQL-database.

MySQL-kopidatabase på samme server

Lad os sige, at du vil kopiere din database source_db til ny database destination_db

Log ind på MySQL og opret en ny 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          |
+--------------------+

Eksporter objekter og data fra source_db til en fil, sig, D:\db.sql. Du vil blive bedt om en adgangskode.

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

Importer filen d:\db.sql til destination_db

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

Ovenstående trin kopierer databasen med data til samme server.

Bonus Læs:MySQL Vælg Top N Rows

MySQL Copy Database Schema

Hvis du kun ønsker at kopiere databaseskema, skal du bruge -d mulighed i MySQLdump-kommandoen ovenfor. Dette kopierer kun databasestrukturen og ikke indholdet.

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

Importer databasestrukturen til destination_db som før

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

Bonus Læs:MySQL Fjern duplikerede poster

MySQL-kopidatabase på en anden server

Hvis du vil kopiere databasen på en anden server, skal du følge lignende trin, men eksportere databasens indhold og objekter til destinationsserveren.

  1. Eksporter kildedatabasen til en SQL-fil
  2. Kopiér SQL-filen til destinationsserveren
  3. Importer SQL-fil til destinationsdatabasen

Først eksporterer vi kildedatabasen source_db til db.sql

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

–databasen mulighed vil give dig mulighed for at inkludere CREATE DATABASE og USE-sætninger i din SQL-fil.

Kopier derefter SQL-filen til en anden server (f.eks. F:\db.sql)

Til sidst importerer du SQL-filen til destinationsdatabasen.

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

Bonuslæser:Sådan udføres lagret procedure i Workbench

MySQL-kopidatabase uden MySQLdump

Hvis du vil kopiere databasen uden MySQLdump, skal du manuelt kopiere hver tabel i kildedatabasen til destinationsdatabasen.

Her er SQL-forespørgslen til at kopiere tabel salg fra source_db database til destination_db database

CREATE TABLE destination_db.sales 
LIKE source_db.sales;

INSERT destination_db.sales 
SELECT *
FROM source_db.sales;

Den første sætning vil duplikere tabelstrukturen i MySQL fra kildedatabasen (f.eks. kilde_db ) til en anden (f.eks. destination_db . Den anden sætning vil kopiere data fra en tabel til en anden. Du bliver nødt til at udføre ovenstående sætninger for hver databasetabel, eller skrive et script, der genererer og udfører ovenstående sætning for alle tabeller i din database.

Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!

  1. Skrivning til MySQL-database med pandaer ved hjælp af SQLAlchemy, to_sql

  2. Returner lagrede procedurer og funktioner i en SQL Server-database:RUTINER (T-SQL-eksempler)

  3. Sådan fungerer Access 2019, og hvordan du arbejder med det

  4. Hvordan ændrer man tegnkodningen af ​​en postgres-database?