gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 08:05:26 24 4
gpt4 key购买 nike

据我所知,对于 MS SQL、PostgreSQL 和 even MySQL数据库(所以,我假设,一般来说对于 RDBMS 引擎),你不能简单地备份它们所在的文件系统,而是需要做一个 SQL 级别的备份以获得内部一致性的希望,从而获得实际恢复的能力。

然后answers like this确实the official docs referenced似乎建议可以tar 处理数据库数据:

docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata

这两个想法似乎相互矛盾。 Docker 的工作方式有什么特别之处,可以不必使用 SQL 级别的备份吗?如果不是,我的理解中缺少什么? (当您不能使用它来备份生产数据库时,为什么将其用作官方示例?那不可能是对的...)

最佳答案

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

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

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

每当服务器运行时,您都需要在数据库中进行备份。服务器负责数据的内部一致性,磁盘镜像可能不完整或不可恢复。如果服务器没有运行,那么数据库的状态在持久存储中应该是一致的。

关于mysql - docker 托管的数据库是否以某种方式免于备份最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31049402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com