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

MySQL 資料庫備份與還原核心指令:mysqldump 完整參數詳解

     編輯:MySQL 綜合教學

MySQL 資料庫備份與還原核心指令

mysqldump 是 MySQL 官方提供的邏輯備份工具,透過產生 SQL 腳本實現資料庫結構與資料的導出導入。掌握其核心參數與管道重導向操作,是 DBA 與開發者的基本功。

備份指令

mysqldump -h hostname -P 3306 -u username -p password database_name > D:/backupfile.sql

參數詳解

參數說明範例
-h / --hostMySQL 伺服器主機位址-h 192.168.1.100 (本機可省略或用 localhost)
-P / --port連接埠號-P 3306 (預設可省略)
-u / --user資料庫使用者名稱-u root
-p / --password密碼 (緊接參數後無空格,或留空提示輸入)-pMyPass123 或 -p (較安全)
database_name要備份的資料庫名稱my_db
>Shell 重導向,將標準輸出寫入檔案> backup.sql

常用進階參數 (推薦加入)

mysqldump -h hostname -P 3306 -u username -p password \
  --single-transaction \        # InnoDB 熱備份核心,不鎖表,保證一致性視圖
  --routines \                   # 匯出存儲過程/函數
  --triggers \                   # 匯出觸發器
  --events \                     # 匯出事件調度器
  --master-data=2 \              # 記錄 Binlog 位置 (CHANGE MASTER TO 註釋),利於主從搭建/時間點恢複
  --set-gtid-purged=OFF \        # 避免 GTID 資訊干擾異構匯入
  database_name > backup.sql

還原指令

mysql -h hostname -P 3306 -u username -p password database_name < D:/backupfile.sql

注意: 還原目標資料庫需預先建立 (CREATE DATABASE IF NOT EXISTS db_name;),且使用者需具備該庫的完整權限。

壓縮備份與分庫備份技巧

  • 即時壓縮 (節省磁碟空間):
    mysqldump -u root -p db_name | gzip > backup_$(date +%F).sql.gz
  • 解壓並還原:
    gunzip < backup.sql.gz | mysql -u root -p db_name
  • 備份多個資料庫:
    mysqldump -u root -p --databases db1 db2 db3 > multi_db_backup.sql
  • 備份所有資料庫:
    mysqldump -u root -p --all-databases > full_backup.sql

最佳實踐建議: 生產環境務必採用 --single-transaction (InnoDB) 實現無鎖熱備份;建立定時任務 (cron) 每日全備 + 定期驗證還原演練;備份檔案異地儲存 (對象儲存/異地機房)。

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