備份是資料庫運維的生命線。本文歸納命令列下最基礎、最通用的備份還原操作流程,適用於中小型資料庫與遷移場景。
cd /usr/local/mysql/bin # 或根據安裝路徑調整
mysqldump -u root -p db_name > db_name_$(date +%F).sql
mysqldump -u root -p db_name table_name > table_name.sql
mysqldump -u root -p --databases db1 db2 > multi_db.sql mysqldump -u root -p --all-databases > all_db.sql
| 參數 | 用途 |
|---|---|
--single-transaction | InnoDB 熱備,獲得一致性快照,不阻塞寫入 |
--skip-lock-tables | 避免鎖表報錯 (MyISAM 或無 LOCK 權限時) |
--master-data=2 | 輸出 CHANGE MASTER TO 註釋,記錄 Binlog 位點 |
--routines --triggers --events | 包含存儲過程/觸發器/事件 |
--hex-blob | 二進制列用十六進制導出,避免編碼問題 |
--compress | 網絡傳輸壓縮 (遠程備份時) |
mysqldump -h 192.168.1.100 -u root -p --single-transaction --master-data=2 db_name | gzip > db_name_$(date +%F).sql.gz
mysql -u root -p
CREATE DATABASE IF NOT EXISTS target_db; USE target_db;
SOURCE /path/to/backup.sql;
mysql -u root -p target_db < backup.sql zcat backup.sql.gz | mysql -u root -p target_db