MySQL 備份與恢復
1. 概述
本文件描述了 MySQL 資料庫的備份和恢復流程。備份是防止資料丟失的關鍵步驟,而恢復則是從備份資料中重建資料庫。
2. 備份策略
- 每天進行全量備份: 全量備份是指將整個資料庫所有資料備份到一個檔案中。
- 每週進行增量備份: 增量備份是指僅備份自上次全量備份後發生變化的資料。
- 定期進行日誌備份: 日誌備份是指將資料庫的日誌檔案備份,用於恢復到某個時間點。
3. 備份方法
3.1 使用 mysqldump 命令
# 全量備份
mysqldump -u 使用者名稱 -p 資料庫名 > 資料庫名_全量備份.sql
# 增量備份
mysqldump -u 使用者名稱 -p --single-transaction --master-data=2 資料庫名 > 資料庫名_增量備份.sql
3.2 使用 XtraBackup 工具
XtraBackup 是 Percona 提供的一個高效的 MySQL 備份工具,可以進行邏輯備份和物理備份。
3.3 使用其他備份工具
市場上有許多其他的備份工具,例如:
- MySQL Workbench
- Amazon RDS
- Azure SQL Database
4. 恢復方法
4.1 從全量備份恢復
# 停止 MySQL 服務
systemctl stop mysqld
# 建立新資料庫
CREATE DATABASE 資料庫名;
# 匯入備份檔案
mysql -u 使用者名稱 -p 資料庫名 < 資料庫名_全量備份.sql
# 啟動 MySQL 服務
systemctl start mysqld
4.2 從增量備份恢復
# 恢復上次全量備份
# ...
# 匯入增量備份檔案
mysql -u 使用者名稱 -p 資料庫名 < 資料庫名_增量備份.sql
4.3 從日誌備份恢復
# 恢復到指定時間點
mysqlbinlog --start-datetime="2023-03-01 10:00:00" --stop-datetime="2023-03-01 12:00:00" --no-defaults /path/to/binary_log | mysql -u 使用者名稱 -p 資料庫名
5. 其他注意事項
- 定期測試備份和恢復流程,確保備份有效且可恢復。
- 將備份資料儲存在安全可靠的地方,並進行定期備份。
- 備份和恢復過程中,務必注意資料庫版本和配置的一致性。
6. 聯絡資訊
如有疑問,請聯絡運維團隊。
7. 更新日誌
日期 | 版本 | 描述 |
---|---|---|
2023-03-01 | 1.0 | 初始版本 |
2023-03-02 | 1.1 | 新增 XtraBackup 工具介紹 |