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

MySQL mysqldump 命令詳解:備份、還原、條件導出、參數大全

     編輯:MySQL 綜合教學

mysqldump 核心價值

  • 將整庫/指定表導出為單一 SQL 文字檔
  • 包含 CREATE TABLE (DDL) 與 INSERT (DML)
  • 文字檔可直接 mysql < dump.sql 還原
  • 支援 WHERE 條件篩選資料

基本語法

mysqldump [OPTIONS] database [tables]
# 整庫
mysqldump -p db_name > dump.sql
# 指定表
mysqldump -p db_name table1 table2 > dump.sql
# 條件導出
mysqldump -p --where="id > 100" db_name table1 > dump.sql

常用參數對照表

參數作用
--add-drop-table每表前加 DROP TABLE IF EXISTS,還原不報錯
--add-locksINSERT 前後加 LOCK/UNLOCK TABLES,防併發干擾
-c / --complete-insertINSERT 含欄位名,利於異構遷移
--delayed-insert使用 INSERT DELAYED
-F / --flush-logs導出前刷新 Binlog
-f / --force遇錯誤繼續執行
--fullCREATE TABLE 含完整屬性
-l / --lock-tables導出期間鎖表(MyISAM)
-t / --no-create-info僅導出資料,不含 DDL
-d / --no-data僅導出結構,不含資料
--opt綜合優化(含 --add-drop-table, --add-locks, --quick 等)
-q / --quick串流輸出,不載入記憶體
-T / --tab=path產生 .sql (DDL) 與 .txt (資料) 兩檔案
-w / --where="..."條件篩選資料

還原指令

mysql -u root -p db_name < dump.sql
# 或
mysql -u root -p -e "SOURCE /path/dump.sql" db_name

最佳實踐

  • InnoDB 大庫:--single-transaction --quick --routines --triggers --events
  • 定期壓縮 gzip、異地儲存
  • 每季演練還原驗證備份可用性
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved