萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 數據導入導出 mysqldump 進階實戰:忽略表、只導結構、指定表、SOURCE 導入全流程

mysqldump 核心語法

mysqldump [options] db_name [tbl_name ...]
mysqldump [options] --databases db_name ...
mysqldump [options] --all-databases

實戰場景命令大全

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

mysqldump -h 127.0.0.1 -P 3306 -u root -p123456 crazyant \
  --skip-lock-tables > crazyant.sql

--skip-lock-tables 解決無 LOCK 權限報錯 (配合 --single-transaction 更佳)。

2. 忽略指定表 (多表需重複參數)

mysqldump -h 127.0.0.1 -P 3306 -u root -p123456 crazyant \
  --skip-lock-tables \
  --ignore-table=crazyant.table1 \
  --ignore-table=crazyant.table2 \
  --ignore-table=crazyant.table3 \
  --ignore-table=crazyant.table4 \
  > crazyant.sql

3. 只導出指定表

# 單表
mysqldump -h 127.0.0.1 -P 3306 -u root -p123456 \
  --skip-lock-tables crazyant table_a > dump_table_a.sql

# 多表
mysqldump -h 127.0.0.1 -P 3306 -u root -p123456 \
  --skip-lock-tables crazyant table_a table_b > dump_two_tables.sql

4. 只導結構 (無數據)

mysqldump --opt -d -h 127.0.0.1 -P 3306 -u root -p123456 \
  crazyant --skip-lock-tables > struct.sql

-d = --no-data,--opt 開啟一組優化選項 (默認開啟)。

SOURCE 導入流程

> mysql -h 127.0.1.1 -P 3306 -u root -p123456
mysql> USE crazyant;
mysql> SOURCE /home/crazyant.net/mysqldump_crazyant.sql;

全量導入前建議:

-- 清空目標表 (若同步覆蓋)
TRUNCATE TABLE table_a;
TRUNCATE TABLE table_b;
-- 或導入前 DROP DATABASE/CREATE DATABASE

參數速查表

參數含義常用場景
-h/--host主機遠程備份
-P/--port端口非 3306
-u/--user用戶
-p/--password密碼緊跟無空格或交互輸入
-d/--no-data無數據結構遷移
--add-drop-table加 DROP TABLE重複導入安全
--ignore-table排除表排除日志/大表
--skip-lock-tables不鎖表無 LOCK 權限/配合單事務
--single-transaction一致性快照InnoDB 熱備必加
--quick流式輸出大表防 OOM
--master-data=2記錄 binlog 位點主從搭建/增量恢復

自動化腳本模板

#!/bin/bash
# daily_backup.sh
DATE=$(date +%F)
DB="crazyant"
OUT="/backup/mysql/${DB}_${DATE}.sql.gz"

mysqldump -h 127.0.0.1 -u backup_user -p'password' \
  --single-transaction --quick --master-data=2 \
  --routines --triggers --events \
  ${DB} | gzip > ${OUT}

# 保留 30 天
find /backup/mysql -name "${DB}_*.sql.gz" -mtime +30 -delete

總結

掌握 mysqldump 核心參數組合,配合 SOURCE 或管道導入,覆蓋 95% 導入導出場景。大數據量生產環境請升級 Percona XtraBackup 物理熱備方案。

copyright © 萬盛學電腦網 all rights reserved