首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 命令行導出導入數據庫完整指南:Windows 與 Linux 實操詳解

     編輯:MySQL 資料庫相關知識

一、 核心工具鏈

  • mysqldump —— 邏輯備份導出
  • mysql + source —— 導入還原

二、 Windows 環境操作步驟

1. 導出數據庫/單表

# 進入 bin 目錄(或配置 PATH 環境變量)
cd "C:\Program Files\MySQL\MySQL Server 5.5\bin"

# 導出整庫
mysqldump -u username -p dbname > backup.sql
# 導出單表
mysqldump -u username -p dbname tablename > table_backup.sql
# 指定端口(非 3306 時必加)
mysqldump -u username -p -P 3308 dbname > backup.sql

輸入密碼後自動生成 .sql 文件於 bin 目錄。

2. 導入數據庫

# 1. 將 .sql 文件放入 bin 目錄
# 2. 登入 MySQL
mysql -u root -p
# 3. 創建目標庫並切換
CREATE DATABASE target_db;
USE target_db;
# 4. 執行導入
SOURCE backup.sql;

⚠️ 大文件導入耗時久(百 MB 級可能數小時),過程中勿關閉終端,觀察無報錯即成功。

三、 Linux 環境操作步驟

1. 導出備份

cd /var/lib/mysql  # 或實際數據目錄
mysqldump -u root -p dbname > backup.sql

2. 導入還原(兩種方式)

方式一:進入交互模式

mysql -u root -p
# 同 Windows 步驟:CREATE DATABASE → USE → SOURCE

方式二:管道直導(非交互,適合腳本)

mysql -u root -p dbname < backup.sql

四、 常見問題與解決

問題原因解決
Access denied / Can't connect端口非默認 3306加 -P port 參數
導入卡住無響應大事務/大表鎖表耐心等待;或拆分文件、關閉自動提交、調大 max_allowed_packet
字符集亂碼導出/導入編碼不一致導出加 --default-character-set=utf8mb4,導入庫表統一 utf8mb4
版本不兼容報錯高版本導出導入低版本加 --compatible=mysql40 或手動調整 SQL

五、 生產環境最佳實踐

  • 定時任務 crontab 自動備份 + 異地存儲
  • 備份前 FLUSH TABLES WITH READ LOCK 確保一致性(或用 --single-transaction InnoDB 熱備)
  • 定期演練恢復流程,驗證備份可用性
  • 大數據量考慮物理備份工具:xtrabackup、mydumper

六、 總結

掌握 mysqldump 導出與 SOURCE/管道導入是 DBA 與開發必備基本功。Windows/Linux 命令大同小異,關鍵在參數細節(端口、字符集、事務一致性)與大文件處理耐心。建議建立標準化備份腳本納入運行維護體系。

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