MySQL 備份與恢復

nisan發表於2024-07-27

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 工具介紹

相關文章