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

CentOS 下 MySQL 資料庫匯出匯入實戰:mysqldump 完整參數指南

     編輯:MySQL 綜合教學

CentOS 下 MySQL 資料庫匯出匯入實戰:mysqldump 完整參數指南

mysqldump 是 MySQL 官方自帶的邏輯備份工具,功能強大且無需停機。本文針對 CentOS 環境,詳細說明全庫、單表、多表、僅結構、僅資料、遠程備份等常見場景的實戰命令,並補充匯入最佳實踐。

一、匯出實戰場景大全

工具位置:/usr/local/mysql/bin/mysqldump(或 PATH 中任意目錄直接呼叫)。

1. 完整庫備份(結構 + 資料)

mysqldump -u root -p dbname > /backup/dbname_$(date +%F).sql

輸入密碼後自動完成,產出含 CREATE TABLE 與 INSERT 的 SQL 檔。

2. 僅匯出表結構(無資料)

mysqldump -u root -p -d dbname > structure.sql

-d / --no-data 參數抑制 INSERT 語句。

3. 僅匯出資料(無建表語句)

mysqldump -u root -p -t dbname > data_only.sql

-t / --no-create-info 參數抑制 CREATE TABLE。

4. 單表備份

mysqldump -u root -p dbname table_name > /backup/table_name.sql

5. 多表備份(指定多張表)

mysqldump -u root -p dbname table1 table2 > multi_tables.sql

例:備份 WordPress 核心表 wp_posts wp_options。

6. 遠程資料庫備份到本地

mysqldump -h remote_ip -u root -p dbname > /local/path/backup.sql

需遠程 MySQL 開放 3306 並授權該客戶端 IP 登入。

7. 進階常用參數組合

  • --single-transaction:InnoDB 熱備份必加,保證一致性不鎖表。
  • --routines --triggers --events:包含存儲過程、觸發器、事件。
  • --master-data=2:在輸出中加入 CHANGE MASTER TO 註釋(從庫搭建用)。
  • --hex-blob:二進制欄位用十六進制導出,避免編碼問題。
  • --compress:網路傳輸壓縮,遠程備份加速。

二、匯入實戰

方法 1:客戶端 SOURCE 命令(推薦,可見進度)

mysql -u root -p dbname
mysql> SOURCE /backup/dbname.sql;

方法 2:Shell 重定向(適合腳本自動化)

mysql -u root -p dbname < /backup/dbname.sql

方法 3:壓縮檔案直接匯入(節省磁碟 I/O)

gunzip -c backup.sql.gz | mysql -u root -p dbname

三、避坑與最佳實踐

  1. 備份前檢查:mysqldump --help 確認版本支援的參數。
  2. 大表備份:加 --quick(預設開啟)避免緩衝整張表到記憶體。
  3. 還原驗證:匯入後執行 CHECKSUM TABLE 或抽樣 SELECT COUNT(*) 對比源庫。
  4. 權限最小化:備份賬號僅需 SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER 權限。

善用 mysqldump 靈活參數,構建可靠、可自動化的 MySQL 備份體系。

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