2020-08-11 22:55:23
MySQL物理备份是指直接复制数据库的物理文件(如数据文件、日志文件、控制文件等),而非导出逻辑内容(如SQL语句)。其核心是通过文件系统层面的操作,将数据库运行时的实际存储文件完整保存下来,恢复时直接还原这些文件即可使数据库重新加载使用。
物理备份的本质物理备份操作的是数据库底层的文件系统,例如:
备份时,这些文件会被原样复制;恢复时,只需将备份文件放回原位置,数据库即可直接加载使用。
常见的物理备份方式使用Percona XtraBackup
特点:开源工具,支持InnoDB和XtraDB引擎的热备(不停机备份)。
优势:通过备份锁或事务日志(如redo log)保证数据一致性,不影响线上服务。
适用场景:生产环境大数据量备份,需高可用性的场景。
直接复制数据目录(冷备)
步骤:关闭MySQL服务后,手动拷贝整个data目录(包含数据文件、日志文件等)。
优势:操作简单,无需额外工具。
局限:必须停机,适用于小型系统或维护窗口期。
LVM快照 + 文件复制
原理:利用Linux逻辑卷管理器(LVM)创建瞬间快照,在快照上复制文件,实现近似热备。
优势:减少停机时间,快照创建瞬间数据一致。
注意:需确保文件系统支持快照,且快照后需尽快复制文件以避免数据变化。
跨平台兼容性差
不同操作系统(如Linux与Windows)或MySQL版本之间可能无法直接恢复。例如,文件格式、路径或元数据可能不兼容。
一致性保障
运行中直接拷贝文件可能导致数据不一致(如事务未提交或日志未刷盘)。需借助工具(如XtraBackup)或锁机制(如FLUSH TABLES WITH READ LOCK)确保一致性。
磁盘空间占用大
备份的是完整文件,即使数据稀疏(如大量空页)也会占用较多空间。需定期清理旧备份。
物理备份适合追求速度和可靠恢复的生产环境,尤其是数据量大的场景(如TB级数据库)。关键需根据需求选择工具:
同时需设计好备份策略(如全量+增量备份、保留周期等),并定期测试恢复流程以确保可用性。