Понякога може да се наложи да копирате база данни или да клонирате база данни в MySQL, за да създадете дублирана база данни. Ето как да копирате база данни в MySQL.
Как да копирам база данни в MySQL
Ето стъпките за копиране на MySQL база данни.
- Създайте нова празна база данни, като използвате израза CREATE DATABASE
- Експортирайте всички обекти и данни на базата данни в нова база данни с помощта на mysqldump команда
- Импортирайте SQL дъмп файл в нова база данни
Бонус четене:MySQL Insert Into Select
Нека разгледаме различни примери за копиране на MySQL база данни.
Копиране на MySQL база данни на същия сървър
Да приемем, че искате да копирате вашата база данни source_db към нова база данни destination_db
Влезте в MySQL и създайте нова база данни 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 | +--------------------+
Експортирайте обекти и данни от source_db към файл, да речем, D:\db.sql. Ще бъдете подканени за парола.
>mysqldump -u root -p source_db > d:\db.sql Enter password: **********
Импортирайте файла d:\db.sql в destination_db
>mysqldump -u root -p destination_db < d:\db.sql Enter password: **********
Горните стъпки ще копират база данни с данни на същия сървър.
Бонус за четене:MySQL Изберете най-големи N редове
Схема на базата данни за копиране на MySQL
Ако искате да копирате само схема на база данни, използвайте -d опция в командата MySQLdump по-горе. Това ще копира само структурата на базата данни, но не и съдържанието.
mysql>mysqldump -u root -p -d source_db > d:\db.sql
Импортирайте структурата на базата данни в destination_db както преди
mysql>mysql -u root -p -d destination_db < d:\db.sql
Бонус четене:MySQL премахва дублиращи се записи
Копиране на MySQL база данни на друг сървър
Ако искате да копирате база данни на друг сървър, трябва да следвате подобни стъпки, но да експортирате съдържанието и обектите на базата данни към целевия сървър.
- Експортирайте изходната база данни в SQL файл
- Копирайте SQL файла на целевия сървър
- Импортирайте SQL файл в целевата база данни
Първо експортираме изходна база данни source_db към db.sql
>mysqldump -u root -p --databases source_db > d:\db.sql Enter password: **********
–базата данни опцията ще ви позволи да включите изрази CREATE DATABASE и USE във вашия SQL файл.
След това копирайте SQL файла на друг сървър (напр. F:\db.sql)
Накрая импортирайте SQL файла в целевата база данни.
>mysql -u root -p destination_db < f:\db.sql Enter password: **********
Бонус за четене:Как да изпълните съхранена процедура в Workbench
Копиране на MySQL база данни без MySQLdump
Ако искате да копирате база данни без MySQLdump, тогава ще трябва ръчно да копирате всяка таблица от изходната база данни в целевата база данни.
Ето SQL заявката за копиране на таблица sales от source_db база данни към destination_db база данни
CREATE TABLE destination_db.sales LIKE source_db.sales; INSERT destination_db.sales SELECT * FROM source_db.sales;
Първият израз ще дублира структурата на таблицата в MySQL от изходната база данни (напр. source_db ) към друг (напр. destination_db . Вторият оператор ще копира данни от една таблица в друга. Ще трябва да изпълните горните оператори за всяка таблица на база данни или да напишете скрипт, който генерира и изпълнява горния оператор за всички таблици във вашата база данни.
Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!