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

MySQL mysqldump 備份與還原實戰:常見坑點與最佳實踐

     編輯:MySQL 綜合教學

MySQL mysqldump 備份與還原實戰:常見坑點與最佳實踐

mysqldump 是 MySQL 官方邏輯備份工具,運行在 mysql/bin 目錄下,**不可**在 MySQL 命令行或 Navicat 等客戶端內執行。

常見錯誤與修正

  1. 在 mysql> 提示符下執行 → ERROR 1064。
    修正:退出 mysql,進入 bin 目錄執行。
  2. 重定向符號前後無空格:mysqldump -uroot -p test>test.sql → 报错 Unknown database 'test;'。
    修正:mysqldump -u root -p test > test.sql(> 兩側加空格)。
  3. 密碼特殊字符:建議用 --defaults-extra-file 指定配置文件避免轉義。

核心命令模板

全庫備份

mysqldump -u root -p --single-transaction --master-data=2 --routines --triggers --events \
  --hex-blob --default-character-set=utf8mb4 \
  --databases db1 db2 > full_backup_$(date +%F).sql

單表備份

mysqldump -u root -p db1 table1 table2 > tables_backup.sql

僅結構不含數據

mysqldump -u root -p --no-data db1 > schema_only.sql

還原

mysql -u root -p db1 < backup.sql

生產環境最佳實踐

  • 單事務一致性:--single-transaction(InnoDB 專用,不鎖表)。
  • GTID/位點記錄:--master-data=2 註釋輸出 Binlog 位置,便於搭建從庫。
  • 壓縮傳輸:mysqldump ... | gzip > backup.sql.gz;還原 zcat backup.sql.gz | mysql -u root -p db1。
  • 並行導出/導入:MySQL 8.0+ mysqldump --parallel=4、mysqlpump;或用 mydumper/myloader 多線程工具。
  • 驗證備份:定期恢復演練,校驗 CHECKSUM TABLE、行數、關鍵業務查詢。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved