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

MySQL 備份與還原完整指令大全:mysqldump 與 source 實戰用法

     編輯:MySQL 資料庫相關知識

核心指令速查

操作指令範例
備份單一資料庫mysqldump -h localhost -u root -p123456 dbname > backup.sql
還原單一資料庫mysql -h localhost -u root -p123456 dbname < backup.sql
備份含 DROP TABLEmysqldump --add-drop-table -u root -p dbname > backup.sql
壓縮備份mysqldump -u root -p dbname | gzip > backup.sql.gz
還原壓縮檔gunzip < backup.sql.gz | mysql -u root -p dbname
備份指定資料表mysqldump -u root -p dbname table1 table2 > backup.sql
同時備份多個資料庫mysqldump --databases db1 db2 db3 > multi.sql
僅備份結構(無資料)mysqldump --no-data --databases db1 db2 > struct.sql
備份所有資料庫mysqldump --all-databases > all.sql
跨伺服器直接遷移mysqldump -u root -p dbname | mysql -h remote_ip -C dbname

常用參數詳解

  • --opt:等同 --quick --add-drop-table --add-locks --extended-insert --lock-tables,產生最快匯入檔。
  • -e / --extended-insert:多行 INSERT,大幅縮小檔案並加快匯入。
  • -q / --quick:不緩衝查詢直接輸出,適合大表。
  • -l / --lock-tables:鎖定所有表確保一致性(MyISAM 必備)。
  • --single-transaction:InnoDB 熱備份首選,不鎖表,保證一致性快照。
  • -w / --where:條件導出,如 -w "id>1000"。

PHP 程式碼呼叫範例

$command = "mysqldump -h localhost -u root -p123456 guestbook > guestbook_$(date +%F).sql";
system($command);
echo "備份完成";

source 還原操作流程

  1. 進入 MySQL 客戶端:mysql -u root -p
  2. 選擇資料庫:USE dbname;
  3. 執行腳本:SOURCE /path/to/backup.sql;

最佳實踐建議

  1. 生產環境備份加上 --single-transaction --master-data=2 獲取 binlog 位點。
  2. 定期驗證備份檔可還原(建立測試庫演練)。
  3. 備份檔異地儲存,防止單點故障。
  4. 大資料庫採用分表、分庫、增量備份策略。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved