Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Copy Database

Понякога може да се наложи да копирате база данни или да клонирате база данни в MySQL, за да създадете дублирана база данни. Ето как да копирате база данни в MySQL.

Как да копирам база данни в MySQL

Ето стъпките за копиране на MySQL база данни.

  1. Създайте нова празна база данни, като използвате израза CREATE DATABASE
  2. Експортирайте всички обекти и данни на базата данни в нова база данни с помощта на mysqldump команда
  3. Импортирайте 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 база данни на друг сървър

Ако искате да копирате база данни на друг сървър, трябва да следвате подобни стъпки, но да експортирате съдържанието и обектите на базата данни към целевия сървър.

  1. Експортирайте изходната база данни в SQL файл
  2. Копирайте SQL файла на целевия сървър
  3. Импортирайте 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 улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да промените часовата зона на MySQL сървъра

  2. ИЗБЕРЕТЕ * ОТ множество таблици. MySQL

  3. Постигане на MySQL Failover &Failback на Google Cloud Platform (GCP)

  4. Защо може да има само една колона TIMESTAMP с CURRENT_TIMESTAMP в клаузата DEFAULT?

  5. Как работи функцията LOWER() в MySQL