MySQL Enterprise Backup (MEB) 是 Oracle 官方商業版提供的物理熱備工具,類似 Percona XtraBackup,支持 InnoDB 熱備份、增量備份、壓縮、加密等企業級特性。本文記錄 MEB 3.9 標準「備份 → 應用日誌 → 恢復」三階段完整操作流程與關鍵文件解析。
/usr/local/mysql-advanced-5.6.23/data/backup/usr/local/mysql-advanced-5.6.23/data/mysql.sock./mysqlbackup --backup_dir=/backup --socket=/usr/local/mysql-advanced-5.6.23/data/mysql.sock backup
備份完成後生成文件結構:
/backup/
├── backup-my.cnf # 備份時實例的關鍵 InnoDB 參數
├── server-all.cnf # 實例所有全局參數
├── server-my.cnf # 實例非默認參數
├── datadir/ # 數據文件副本
└── meta/ # 元數據目錄
├── backup_content.xml # 文件元數據、表定義、插件信息
├── backup_create.xml # 備份操作上下文
├── backup_gtid_executed.sql # GTID 信息(啟用 GTID 時)
├── backup_variables.txt # 關鍵變量:LSN、binlog 位置、apply_log_done 等
└── MEB_YYYY-MM-DD.HH-MM-SS_backup.log # 備份詳細日誌
innodb_data_file_path、innodb_log_file_size、innodb_page_size 等還原必需的 InnoDB 佈局參數。start_lsn/end_lsn 定義備份涵蓋的重做日誌範圍;apply_log_done=0 表示尚未應用日誌;gtid_executed 記錄備份完成時的 GTID 集合。--defaults-file,若需異地恢復至不同路徑,需手動修改其中的 datadir、innodb_log_group_home_dir 等路徑參數。./mysqlbackup --backup-dir=/backup apply-log
核心作用:將備份過程中產生的 ibbackup_logfile(redo log 增量)重放至 datadir,使數據文件達到「一致性點」,生成 ib_logfile0/1,標記 apply_log_done=1。輸出關鍵信息:
InnoDB: Doing recovery: scanned up to log sequence number 98227650
...
Apply-log operation completed successfully.
mysqlbackup completed OK!
驗證:應用前 datadir 無 ib_logfile*,應用後生成,說明 redo log 已就緒,可直接啟動實例或拷貝恢復。
./mysqlbackup --defaults-file=/backup/server-my.cnf --backup-dir=/backup copy-back
關鍵注意點:
my.cnf 缺少 innodb_log_files_in_group 等參數會報錯 Server innodb_log_files_in_group is missing or invalid。assumes the server is offline。server-all.cnf 啟動會報 Table './mysql/user' is marked as crashed,建議用原實例 my.cnf 或 server-my.cnf。chown -R mysql.mysql /target/datadir。# 修正權限
chown -R mysql.mysql /usr/local/mysql-advanced-5.6.23/data
# 啟動(使用原實例配置)
/usr/local/mysql-advanced-5.6.23/bin/mysqld --defaults-file=/usr/local/mysql-advanced-5.6.23/my.cnf --user=mysql &
# 驗證
mysql -uroot -p -S /tmp/mysql.sock -e "SHOW DATABASES;"
--compress --compress-level=6,節省 60%+ 存儲,CPU 開銷可接受。--incremental --lsn=,基於 LSN 推進,配合 --incremental-with-redo-log-only 進一步減小體積。--include-tables=db.tbl 配合 --use-tts(傳輸表空間)實現表級還原。--cloud-storage=S3 直接寫入對象存儲。MEB 作為官方商業工具,流程規範、文件自描述完整、支持 GTID、壓縮、加密、TTS 等企業級能力。核心三步驟 backup → apply-log → copy-back 清晰可靠。生產環境建議:
backup_variables.txt 中的 apply_log_done、LSN 連續性。