首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 數據庫備份兩大核心方案:mysqlhotcopy 物理熱備 vs mysqldump 邏輯導出

     編輯:MySQL 綜合教學

MySQL 數據庫備份兩大核心方案:mysqlhotcopy 物理熱備 vs mysqldump 邏輯導出

MySQL 備份分為物理備份(文件級拷貝)與邏輯備份(SQL 文本導出)兩大流派。本文深度對比 mysqlhotcopy 與 mysqldump 的適用場景、優缺點、實操命令,幫助選型最適合業務的備份策略。

方案一:mysqlhotcopy — 物理熱備(僅限 MyISAM)

# 基本語法
mysqlhotcopy -u root -p'RootPass' db1 db2 ... /backup/dir/

# 備份所有庫
mysqlhotcopy -u root -p'RootPass' --regexp=".*" /backup/dir/

特點

  • 極快:直接拷貝 .MYD/.MYI/.frm 文件,速度接近磁碟順序讀寫上限。
  • 熱備份:自動 FLUSH TABLES WITH READ LOCK → 拷貝 → UNLOCK TABLES,無需停庫。
  • 同步點一致:可配合 --flushlog 刷新 Binlog,備份文件與 Binlog 位點對齊,支援增量恢復。

硬性限制

  • 僅支持 MyISAM/ISAM/ARCHIVE 表,InnoDB 不支持(無法保證表空間一致性)。
  • 必須在本機執行(需本地文件系統訪問),不支持遠程備份。
  • 需要 FILE、RELOAD、LOCK TABLES 權限。

方案二:mysqldump — 邏輯導出(通用、跨版本、跨引擎)

# 單庫導出(含 Blob 十六進制編碼,避免特殊字符破壞 SQL)
mysqldump -u root -p'RootPass' --hex-blob db1 > db1.sql

# 全庫導出
mysqldump -u root -p'RootPass' --all-databases --hex-blob > all.sql

# 直接跨機器遷移(管道流式,無中間文件)
mysqldump -u root -p'RootPass' --opt db1 | mysql -h remote_host -u root -p'Pass' db1

# SSH 隧道遠程導入
ssh remote_host "mysqladmin create db1"
mysqldump -u root -p'RootPass' --opt db1 | ssh remote_host "mysql db1"

核心參數解析

兩大方案對比決策表

參數作用建議
--opt組合啟用:--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset✅ 生產必加
--hex-blobBLOB/二進制列以 0x 十六進制導出✅ 含 Blob 必加
--single-transactionInnoDB 熱備份:啟動事務一致性視圖,不鎖表✅ InnoDB 必加
--master-data=2輸出文件含 CHANGE MASTER 位點註釋✅ 搭建從庫必加
--routines --triggers --events導出存儲過程/觸發器/事件✅ 完整遷移必加
--no-data僅導出結構按需
維度mysqlhotcopymysqldump
引擎支持MyISAM/Archive 僅全引擎
備份速度極快(GB/s 級)較慢(受 SQL 解析、網絡限制)
恢復速度極快(拷貝回去)慢(需執行 SQL)
跨版本/跨平台不支持完美支持
遠程備份不支持原生支持
單表恢復需手動拷貝文件天然支持(按表導出/導入)
一致性保證全局讀鎖瞬間一致--single-transaction 事務視圖一致

選型建議

  1. 純 MyISAM 歷史系統 → mysqlhotcopy 首選,速度優勢壓倒性。
  2. 含 InnoDB 表(現代系統 99%+) → 只能用 mysqldump --single-transaction 或 XtraBackup 物理熱備。
  3. 大數據量(>500GB) → 邏輯導出恢復太慢,必須採用 XtraBackup 物理流式備份 + 增量備份。
  4. 異構遷移/升級/下線審計 → mysqldump SQL 文本可讀、可編輯、可版本控制。

廢棄警示

直接拷貝數據目錄(cp/rsync/tar)已被廢棄:無法保證一致性、InnoDB 表空間極易損壞、無 Binlog 位點、無法單表恢復。請在所有 SOP 中移除此方式。

建立「全量周備 + 增量日備 + Binlog 實時歸檔 + 季度恢復演練」的立體備份體系,才是數據安全的終極保障。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved