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

mysqldump 導出導入實戰速查:常用參數與場景示例

     編輯:MySQL 綜合教學

mysqldump 核心用法速查手冊

mysqldump 是 MySQL 官方邏輯備份工具,掌握其常用參數組合可覆蓋 95% 的導出導入場景。

基礎語法

mysqldump -h<主機> -u<用戶> -p<密碼> [選項] [數據庫/表...] > 輸出文件.sql

高頻場景示例

1. 導出整庫 (含數據 + 結構)

mysqldump -h10.210.211.51 -uroot -ptools --databases starry_oplat > starry_oplat_db.sql
  • --databases:輸出包含 CREATE DATABASE 與 USE 語句,便於直接導入新實例。

2. 僅導出表結構 (不含數據)

mysqldump --opt -d 數據庫名 -u root -p > schema_only.sql
  • -d / --no-data:僅導出 DDL。
  • --opt:啟用一組優化選項 (默認開啟),含 --add-drop-table、--extended-insert、--lock-tables 等。

3. 導出單表/多表

mysqldump -uroot -p db_name table1 table2 > tables.sql

4. 遠程導入 (Source 方式)

mysql -uroot -p
USE target_db;
SOURCE /path/to/backup.sql;

常用進階參數

參數說明
--single-transactionInnoDB 熱備必加,啟動一致性快照讀,避免鎖表阻塞寫入
--master-data=2輸出 CHANGE MASTER 註釋 (含 Binlog 位點),搭建從庫必備
--routines --triggers --events導出存儲過程、觸發器、事件 (默認不導出)
--hex-blob二進制字段用十六進制導出,避免字符集問題
--compress客戶端/服務端傳輸壓縮,跨網段備份加速
--skip-lock-tables配合 --single-transaction 使用,完全無鎖備份

導入優化技巧

  • 大文件導入前:SET autocommit=0; SET unique_checks=0; SET foreign_key_checks=0; 導入後恢復並 COMMIT;,大幅提速。
  • 使用 pv backup.sql | mysql -uroot -p db_name 顯示進度條。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved