MySQL複製資料庫

2019-10-16 22:56:51

本教學將向您展示如何在同一台伺服器上以及從一台伺服器複製MySQL資料庫到另一台伺服器。

在同一台伺服器上複製一個MySQL資料庫

要複製一個MySQL資料庫,您需要執行以下步驟:

  • 首先,使用CREATE DATABASE語句建立一個新的資料庫。
  • 其次,使用mysqldump工具匯出要複製的資料庫的所有資料庫物件和資料。
  • 第三,將SQL轉儲檔案匯入新的資料庫。

作為一個演示,假設要把yiibaidb資料庫複製到yiibaidb_backup資料庫。請參考以下操作步驟 -

步驟1, 建立yiibaidb_backup資料庫:

首先,登入到MySQL資料庫伺服器:

C:\Users\Administrator> mysql -u root -p
Enter password: **********

然後,使用CREATE DATABASE語句如下:

CREATE DATABASE yiibaidb_backup;

第三,使用SHOW DATABASES命令驗證:

SHOW DATABASES

MySQL資料庫伺服器返回以下輸出:

如您所見,我們已經成功建立了yiibaidb_backup資料庫。

步驟2

使用mysqldump工具將資料庫物件和資料轉儲到SQL檔案中。

假設要將資料庫物件和資料庫轉儲到位於D:\database_bak檔案夾的SQL檔案中,這裡是以下命令:

C:\Users\Administrator> mysqldump -u root -p yiibaidb > d:\database_bak\yiibaidb.sql
Enter password: **********

基本上,此命令指示mysqldump使用具有密碼的root使用者帳戶登入到MySQL伺服器,並將資料庫物件和yiibaidb資料庫的資料匯出到d:\database_bak\yiibaidb.sql。 請注意,運算子(>)表示匯出。

步驟2

d:\database_bak\yiibaidb.sql檔案匯入到yiibaidb_backup資料庫。

C:\Users\Administrator> mysql -u root -p yiibaidb_backup < d:\database_bak\yiibaidb.sql
Enter password: **********

請注意,運算子(<)表示匯入。

要驗證匯入,可以使用SHOW TABLES命令快速檢查。

mysql> SHOW TABLES FROM yiibaidb_backup;

它返回以下輸出:

如您所見,我們已在同一台伺服器上將所有物件和資料從yiibaidb資料庫複製到yiibaidb_backup資料庫。

將MySQL資料庫從伺服器複製到另一個伺服器

要將MySQL資料庫從伺服器複製到另一個伺服器,請使用以下步驟:

  • 將源伺服器上的資料庫匯出到SQL轉儲檔案。
  • 將SQL轉儲檔案複製到目標伺服器
  • 將SQL轉儲檔案匯入到目標伺服器

我們來看看如何將yiibaidb資料庫從伺服器複製到另一個伺服器。

首先,將yiibaidb資料庫匯出到db.sql檔案。

C:\Users\Administrator> mysqldump -u root -p --databases yiibaidb > d:\database_bak\db.sql
Enter password: **********

請注意,--database選項允許mysqldump在SQL轉儲檔案中包含CREATE DATABASE和USE語句。這些語句將在目標伺服器中建立yiibaidb資料庫,並將新資料庫作為載入資料的預設資料庫。

簡而言之,當使用--database選項時,SQL轉儲檔案的開頭包含以下語句。

CREATE DATABASE `yiibaidb2`.

USE `yiibaidb2`;

第三,將db.sql檔案匯入到資料庫伺服器,假定將db.sql檔案複製到d:\database_bak\檔案夾。

C:\Users\Administrator> mysql -u root -p yiibaidb2 < d:\database_bak\db.sql

在本教學中,您已經逐步了解如何在同一伺服器上複製MySQL資料庫,並將資料庫從伺服器複製到另一個伺服器。