sql >> Databáze >  >> RDS >> Mysql

Kopírovat databázi MySQL

Někdy může být nutné zkopírovat databázi nebo naklonovat databázi v MySQL, abyste vytvořili duplicitní databázi. Zde je návod, jak zkopírovat databázi v MySQL.

Jak zkopírovat databázi v MySQL

Zde jsou kroky ke zkopírování databáze MySQL.

  1. Vytvořte novou prázdnou databázi pomocí příkazu CREATE DATABASE
  2. Exportujte všechny databázové objekty a data do nové databáze pomocí mysqldump příkaz
  3. Importovat soubor výpisu SQL do nové databáze

Bonusové čtení:MySQL Insert Into Select

Podívejme se na různé příklady kopírování databáze MySQL.

Kopírování databáze MySQL na stejném serveru

Řekněme, že chcete zkopírovat databázi source_db do nové databáze destination_db

Přihlaste se do MySQL a vytvořte novou databázi 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          |
+--------------------+

Exportujte objekty a data z source_db do souboru, řekněme D:\db.sql. Budete vyzváni k zadání hesla.

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

Importujte soubor d:\db.sql do destination_db

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

Výše uvedené kroky zkopírují databázi s daty na stejný server.

Bonusové čtení:MySQL Select Top N Rows

MySQL Kopírovat schéma databáze

Pokud chcete zkopírovat pouze schéma databáze, použijte -d možnost v příkazu MySQLdump výše. Tím se zkopíruje pouze struktura databáze, nikoli obsah.

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

Importujte strukturu databáze do destination_db jako předtím

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

Bonusové čtení:MySQL Odstraňte duplicitní záznamy

Kopírování databáze MySQL na jiný server

Pokud chcete zkopírovat databázi na jiný server, musíte provést podobné kroky, ale exportovat obsah databáze a objekty na cílový server.

  1. Exportujte zdrojovou databázi do souboru SQL
  2. Zkopírujte soubor SQL na cílový server
  3. Importujte soubor SQL do cílové databáze

Nejprve exportujeme zdrojovou databázi source_db na db.sql

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

–databáze volba vám umožní zahrnout příkazy CREATE DATABASE a USE do vašeho SQL souboru.

Dále zkopírujte soubor SQL na jiný server (např. F:\db.sql)

Nakonec importujte soubor SQL do cílové databáze.

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

Bonusové čtení:Jak spustit uloženou proceduru ve Workbench

Kopírování databáze MySQL bez MySQLdump

Pokud chcete zkopírovat databázi bez MySQLdump, budete muset ručně zkopírovat každou tabulku ve zdrojové databázi do cílové databáze.

Zde je dotaz SQL pro zkopírování tabulky prodeje z source_db databáze do destination_db databáze

CREATE TABLE destination_db.sales 
LIKE source_db.sales;

INSERT destination_db.sales 
SELECT *
FROM source_db.sales;

První příkaz bude duplikovat strukturu tabulky v MySQL ze zdrojové databáze (např. source_db ) do jiného (např. destination_db . Druhý příkaz zkopíruje data z jedné tabulky do druhé. Budete muset provést výše uvedené příkazy pro každou tabulku databáze nebo napsat skript, který vygeneruje a provede výše uvedený příkaz pro všechny tabulky ve vaší databázi.

Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!

  1. Operátor ampersand (&) v klauzuli WHERE serveru SQL Server

  2. Běžný uživatel s oprávněním SYSBACKUP

  3. Správa uživatelů MySQL

  4. 12c VARCHAR2(32767)