本教程將向您展示如何在同一臺伺服器上以及從一臺伺服器複製MySQL資料庫到另一臺伺服器。
在同一臺伺服器上複製一個MySQL資料庫
要複製一個MySQL資料庫,您需要執行以下步驟:
- 首先,使用CREATE DATABASE語句創建一個新的資料庫。
- 其次,使用
mysqldump
工具導出要複製的資料庫的所有資料庫對象和數據。 - 第三,將SQL轉儲檔導入新的資料庫。
作為一個演示,假設要把zaixiandb
資料庫複製到zaixiandb_backup
資料庫。請參考以下操作步驟 -
步驟1, 創建zaixiandb_backup
資料庫:
首先,登錄到MySQL資料庫伺服器:
C:\Users\Administrator> mysql -u root -p
Enter password: **********
然後,使用CREATE DATABASE
語句如下:
CREATE DATABASE zaixiandb_backup;
第三,使用SHOW DATABASES命令驗證:
SHOW DATABASES
MySQL資料庫伺服器返回以下輸出:
如您所見,我們已經成功創建了zaixiandb_backup
資料庫。
步驟2
使用mysqldump
工具將資料庫對象和數據轉儲到SQL檔中。
假設要將資料庫對象和數據庫轉儲到位於D:\database_bak
檔夾的SQL檔中,這裏是以下命令:
C:\Users\Administrator> mysqldump -u root -p zaixiandb > d:\database_bak\zaixiandb.sql
Enter password: **********
基本上,此命令指示mysqldump
使用具有密碼的root
用戶帳戶登錄到MySQL伺服器,並將資料庫對象和zaixiandb
資料庫的數據導出到d:\database_bak\zaixiandb.sql
。 請注意,運算符(>
)表示導出。
步驟2
將d:\database_bak\zaixiandb.sql
檔導入到zaixiandb_backup
資料庫。
C:\Users\Administrator> mysql -u root -p zaixiandb_backup < d:\database_bak\zaixiandb.sql
Enter password: **********
請注意,運算符(<
)表示導入。
要驗證導入,可以使用SHOW TABLES
命令快速檢查。
mysql> SHOW TABLES FROM zaixiandb_backup;
它返回以下輸出:
如您所見,我們已在同一臺伺服器上將所有對象和數據從zaixiandb
資料庫複製到zaixiandb_backup
資料庫。
將MySQL資料庫從伺服器複製到另一個伺服器
要將MySQL資料庫從伺服器複製到另一個伺服器,請使用以下步驟:
- 將源伺服器上的資料庫導出到SQL轉儲檔。
- 將SQL轉儲檔複製到目標伺服器
- 將SQL轉儲檔導入到目標伺服器
我們來看看如何將zaixiandb
資料庫從伺服器複製到另一個伺服器。
首先,將zaixiandb
資料庫導出到db.sql
檔。
C:\Users\Administrator> mysqldump -u root -p --databases zaixiandb > d:\database_bak\db.sql
Enter password: **********
請注意,--database
選項允許mysqldump
在SQL轉儲檔中包含CREATE DATABASE
和USE語句。這些語句將在目標伺服器中創建zaixiandb
資料庫,並將新資料庫作為加載數據的默認資料庫。
簡而言之,當使用--database
選項時,SQL轉儲檔的開頭包含以下語句。
CREATE DATABASE `zaixiandb2`.
USE `zaixiandb2`;
第三,將db.sql
檔導入到資料庫伺服器,假定將db.sql
檔複製到d:\database_bak\
檔夾。
C:\Users\Administrator> mysql -u root -p zaixiandb2 < d:\database_bak\db.sql
在本教學中,您已經逐步瞭解如何在同一伺服器上複製MySQL資料庫,並將資料庫從伺服器複製到另一個伺服器。