docker托管的数据库是否以某种方式免除备份最佳实践?

时间:2015-06-25 11:43:24

标签: mysql database postgresql docker database-backups

据我所知,对于MS SQL,PostgreSQL和even MySQL数据库(因此,我假设,通常用于RDBMS引擎),您不能简单地备份它们所托管的文件系统,但是需要进行SQL级备份以获得内部一致性的希望,从而实现真正恢复的能力。

但是answers like thisthe official docs referenced似乎表明人们只能+"PRIMARY KEY (... \"dayOfYear\" ...)"; 远离数据库数据:

tar

这两个想法似乎彼此不一致。有没有什么特别的关于Docker如何工作,这使得不必使用SQL级备份?如果没有,我的理解中缺少什么? (当您无法使用它来备份生产数据库时,为什么某些东西被用作官方示例?这可能是对的...)

1 个答案:

答案 0 :(得分:4)

在某些情况下,在磁盘上使用数据库的映像应该是安全的:

  • 数据库服务器未运行。
  • 所有持久性数据都在备份的磁盘系统上(日志,表空间,临时存储)。
  • 所有组件一起恢复。
  • 您正在将图像恢复到同一路径上的同一服务器。

最后一个条件很重要,因为数据库配置的某些方面可能存储在操作系统文件中。

每当服务器运行时,您都需要在数据库中进行备份。服务器负责数据的内部一致性,磁盘映像可能不完整或无法恢复。如果服务器未运行,则数据库的状态应在持久存储中保持一致。