Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Kopiowanie bazy danych MySQL

Czasami może być konieczne skopiowanie bazy danych lub sklonowanie bazy danych w MySQL, aby utworzyć zduplikowaną bazę danych. Oto jak skopiować bazę danych w MySQL.

Jak skopiować bazę danych do MySQL

Oto kroki, aby skopiować bazę danych MySQL.

  1. Utwórz nową pustą bazę danych za pomocą instrukcji CREATE DATABASE
  2. Eksportuj wszystkie obiekty i dane bazy danych do nowej bazy danych za pomocą mysqldump polecenie
  3. Importuj plik zrzutu SQL do nowej bazy danych

Przeczytaj bonus:MySQL Wstaw do Wybierz

Przyjrzyjmy się różnym przykładom kopiowania bazy danych MySQL.

Kopiuj bazę danych MySQL na tym samym serwerze

Załóżmy, że chcesz skopiować bazę danych source_db do nowej bazy danych destination_db

Zaloguj się do MySQL i utwórz nową bazę danych 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          |
+--------------------+

Eksportuj obiekty i dane z source_db do pliku, powiedzmy, D:\db.sql. Zostaniesz poproszony o podanie hasła.

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

Zaimportuj plik d:\db.sql do destination_db

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

Powyższe kroki skopiują bazę danych z danymi na ten sam serwer.

Przeczytaj bonus:MySQL wybierz N pierwszych wierszy

Schemat kopii bazy danych MySQL

Jeśli chcesz tylko skopiować schemat bazy danych, użyj -d opcja w poleceniu MySQLdump powyżej. Spowoduje to skopiowanie tylko struktury bazy danych, a nie zawartości.

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

Zaimportuj strukturę bazy danych do destination_db jak poprzednio

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

Przeczytaj bonus:MySQL Usuń zduplikowane rekordy

Kopiuj bazę danych MySQL na innym serwerze

Jeśli chcesz skopiować bazę danych na inny serwer, musisz wykonać podobne kroki, ale wyeksportować zawartość bazy danych i obiekty na serwer docelowy.

  1. Eksportuj źródłową bazę danych do pliku SQL
  2. Skopiuj plik SQL na serwer docelowy
  3. Importuj plik SQL do docelowej bazy danych

Najpierw eksportujemy źródłową bazę danych source_db do db.sql

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

–baza danych ta opcja pozwoli ci dołączyć instrukcje CREATE DATABASE i USE do twojego pliku SQL.

Następnie skopiuj plik SQL na inny serwer (np. F:\db.sql)

Na koniec zaimportuj plik SQL do docelowej bazy danych.

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

Przeczytaj bonus:Jak wykonać procedurę składowaną w środowisku roboczym

Kopiuj bazę danych MySQL bez MySQLdump

Jeśli chcesz skopiować bazę danych bez MySQLdump, będziesz musiał ręcznie skopiować każdą tabelę ze źródłowej bazy danych do docelowej bazy danych.

Oto zapytanie SQL do skopiowania tabeli sprzedaż z source_db baza danych do destination_db baza danych

CREATE TABLE destination_db.sales 
LIKE source_db.sales;

INSERT destination_db.sales 
SELECT *
FROM source_db.sales;

Pierwsza instrukcja powieli strukturę tabeli w MySQL ze źródłowej bazy danych (np. source_db ) do innego (np. destination_db . Druga instrukcja skopiuje dane z jednej tabeli do drugiej. Będziesz musiał wykonać powyższe instrukcje dla każdej tabeli bazy danych lub napisać skrypt, który wygeneruje i wykona powyższą instrukcję dla wszystkich tabel w Twojej bazie danych.

Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy zagnieżdżone transakcje są dozwolone w MySQL?

  2. Nie można połączyć się z serwerem MySQL na „localhost” (10061)

  3. Różnice między MySql i MySqli w PHP

  4. Zainstaluj MySQL Workbench do administrowania bazą danych

  5. Utrata połączenia z serwerem MySQL podczas „odczytu początkowego pakietu komunikacyjnego”, błąd systemu:0