mysqldump —— 邏輯備份導出mysql + source —— 導入還原# 進入 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 目錄。
# 1. 將 .sql 文件放入 bin 目錄 # 2. 登入 MySQL mysql -u root -p # 3. 創建目標庫並切換 CREATE DATABASE target_db; USE target_db; # 4. 執行導入 SOURCE backup.sql;
⚠️ 大文件導入耗時久(百 MB 級可能數小時),過程中勿關閉終端,觀察無報錯即成功。
cd /var/lib/mysql # 或實際數據目錄 mysqldump -u root -p dbname > backup.sql
方式一:進入交互模式
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 命令大同小異,關鍵在參數細節(端口、字符集、事務一致性)與大文件處理耐心。建議建立標準化備份腳本納入運行維護體系。