MySQL 備份除官方 mysqldump 外,尚有直接複製資料目錄的「捷徑法」,但有嚴格適用條件。
前提:同版本、同作業系統、同架構、停止 MySQL 服務**
datadir/資料庫名 目錄到目標主機同位置mysql:mysql, 770/660)FLUSH PRIVILEGES優點:極快、無 SQL 解析開銷。缺點:跨平台/版本不可用 (如 Solaris→Linux)、InnoDB 共享表空間需額外處理、非官方支援。
mysqldump --opt database > backup-file.sql
# 跨主機直傳
mysqldump --opt database | mysql --host=remote-host -C database
| 參數 | 作用 |
|---|---|
--opt | 綜合 --quick --add-drop-table --add-locks --extended-insert --lock-tables,最快匯出/匯入 |
--quick | 不緩衝查詢直接輸出,大表必備 |
--single-transaction | InnoDB 熱備份不鎖表 (需配合 --quick) |
--master-data=2 | 輸出 CHANGE MASTER TO 註解,支援複寫同步點 |
-t / --no-create-info | 僅匯出資料 |
-d / --no-data | 僅匯出結構 |
mysqladmin create target_db
mysql target_db < backup-file.sql