首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 資料庫遷移兩大場景完整指南:換伺服器用 mysqldump、換平台用 MySQL Workbench

     編輯:MySQL 資料庫相關知識

場景一:更換資料庫伺服器(同 MySQL 版本/相容版本)

核心工具:mysqldump

三種呼叫方式:

# 單庫指定表
mysqldump [options] db_name [tables]

# 多庫
mysqldump [options] --databases DB1 [DB2 DB3...]

# 全部資料庫
mysqldump [options] --all-databases

關鍵參數

  • --opt:啟用 --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset(預設開啟)
  • --quick:逐行讀取寫入網路,避免大結果集佔記憶體
  • --single-transaction:InnoDB 熱備份不鎖表(需配合 --master-data=2 記錄 binlog 位置)
  • --routines --triggers --events:包含預存程序/觸發器/事件

備份與還原範例

# 備份
mysqldump --single-transaction --master-data=2 --routines --triggers --events -u root -p db_name > backup.sql

# 還原
mysql -u root -p db_name < backup.sql

# 或跨主機直接管線
mysqldump --single-transaction -u root -p db_name | mysql -h new_host -u root -p db_name

場景二:更換資料庫平台(MySQL → PostgreSQL / SQL Server / Oracle 等)

核心工具:MySQL Workbench Migration Wizard

下載:https://dev.mysql.com/downloads/workbench/

四大模組:

  • Migration Wizard:異構遷移(結構+資料)、型別映射、重命名規則、批次產生腳本
  • Administrator:伺服器管理、使用者權限、備份還原、效能監控
  • Query Browser:視覺化查詢、結果集編輯、執行計劃
  • Workbench (DB Design):ER 圖、正向/逆向工程、版本控制

遷移流程

  1. 來源連線(MySQL)→ 目標連線(目標平台)
  2. 擷取來源結構 → 物件選擇 → 型別映射調整(如 ENUM→CHECK、AUTO_INCREMENT→IDENTITY/SERIAL)
  3. 產生目標 DDL → 執行建立結構
  4. 資料傳輸(分批 COMMIT、錯誤重試)
  5. 驗證:行數對帳、抽樣比對、應用端測試

遷移前必檢清單

  • 字元集一致性(utf8mb4 推薦)
  • 時區設定(time_zone)
  • SQL 模式相容性(sql_mode)
  • 大物件(BLOB/TEXT)大小限制
  • 預存程序/觸發器/視圖語法差異人工審閱
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved