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.
- Utwórz nową pustą bazę danych za pomocą instrukcji CREATE DATABASE
- Eksportuj wszystkie obiekty i dane bazy danych do nowej bazy danych za pomocą mysqldump polecenie
- 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.
- Eksportuj źródłową bazę danych do pliku SQL
- Skopiuj plik SQL na serwer docelowy
- 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ś!