MySQL 官方備份工具 mysqldump (在 bin/ 目錄) 與還原指令 source (在 MySQL 客戶端內) 的標準用法速查。
| 場景 | 指令 |
|---|---|
| 單一資料庫 | mysqldump -u user -p db_name > /path/backup.sql |
| 多個資料庫 | mysqldump -u user -p -B db1 db2 > /path/backup.sql |
| 指定資料表 | mysqldump -u user -p db_name tbl1 tbl2 > /path/backup.sql |
| 所有資料庫 | mysqldump -u user -p --all-databases > /path/backup.sql |
| 僅結構不含資料 | mysqldump -u user -p -d db_name > /path/schema.sql |
| 單一交易一致性備份 (InnoDB) | mysqldump -u user -p --single-transaction db_name > /path/backup.sql |
| 壓縮輸出 | mysqldump -u user -p db_name | gzip > /path/backup.sql.gz |
mysql -u user -p
-- 建立目標庫 (若不存在)
CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET utf8mb4;
USE db_name;
-- 執行還原
SOURCE /path/backup.sql;
CREATE DATABASE/USE 行,或使用 sed 過濾。& 背景執行多線程導入。SET @@GLOBAL.GTID_PURGED='...' 避免 GTID 衝突。