mysqldump 資料庫名稱 [表名1 表名2 ...] > 備份檔.sql
cm2:mysqldump cm2 > cm2.sqlcm2 中的 mail、user 兩張表:mysqldump cm2 mail user > cm2_mail_user.sql| 參數 | 用途 |
|---|---|
--databases | 指定後續皆為資料庫名稱,適合一次備份多個資料庫;輸出檔會自動包含 CREATE DATABASE IF NOT EXISTS 與 USE 語句。 |
--all-databases | 備份所有資料庫所有表至單一檔案,同樣包含建庫語句。 |
預設不加 --databases 時,輸出檔不含建庫語句,還原前必須手動建立目標資料庫。
mysql 資料庫名稱 < 備份檔.sql
--databases:還原必須指定已存在的目標資料庫,如 mysql cm2 < cm2.sql。--databases:還原可不指定資料庫,甚至目標資料庫不存在也會自動建立,如 mysql < cm2.sql。建議常態備份加上 --databases,提升還原彈性。
mysqldump 資料庫名稱 [表名] | mysql -h 目標主機 目標資料庫
前提:目標資料庫必須已存在。此法適合遷移或同步資料至另一台伺服器。
gzip 壓縮:mysqldump db | gzip > db.sql.gzcrontab 自動化。head -n 20 備份檔.sql 確認結構)。