將 MySQL 數據庫從服務器遷移到本地 PC,或在環境間同步數據,最常用的是 mysqldump 命令行工具,也可使用圖形化工具 SQLyog。本文提供兩種方式的完整操作步驟。
# 進入 MySQL bin 目錄
cd D:\mysql5.5\bin
# 備份命令語法
mysqldump -u用戶名 -p密碼 數據库名 > 備份文件路徑
# 實例:備份 qh 數據庫到 D 盤
mysqldump -uroot -p123 qh > d:\qh.sql
參數說明:
-uroot:用戶名 root-p123:密碼 123(-p 後無空格直接跟密碼)qh:源數據庫> d:\qh.sql:輸出重定向到文件# 1. 先在目標 MySQL 創建空數據庫
mysql -uroot -p123 -e "CREATE DATABASE aa DEFAULT CHARSET utf8mb4;"
# 2. 還原
mysql -uroot -p123 aa < d:\qh.sql
參數說明:
aa:目標數據庫(必須已存在)< d:\qh.sql:輸入重定向從文件讀取| 參數 | 作用 |
|---|---|
--single-transaction | InnoDB 熱備份,不鎖表(推薦生產環境) |
--routines | 包含存儲過程/函數 |
--triggers | 包含觸發器 |
--events | 包含事件調度器 |
--hex-blob | 二進制字段用十六進制導出(避免編碼問題) |
--set-gtid-purged=OFF | 避免 GTID 相關報錯(跨版本遷移常用) |
--compress | 網絡傳輸壓縮(遠程備份加速) |
| 項目 | 檢查點 |
|---|---|
| 字符集 | 源/目標庫、表、列字符集一致(推薦 utf8mb4) |
| 版本兼容 | 目標版本 ≥ 源版本;跨大版本需測試 |
| 用戶權限 | 備份/還原賬號需足夠權限(SELECT、LOCK TABLES、CREATE 等) |
| 大對象 | BLOB/TEXT 大字段用 --hex-blob 防編碼損壞 |
| 驗證 | 還原後核對表數量、行數、關鍵業務數據 |
最佳實踐:命令行 mysqldump 為主、SQLyog 為輔。自動化腳本、CI/CD 集成、大數據庫備份必須用命令行;圖形工具適合臨時小庫操作、結構對比、可視化確認。