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

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

作者:互联网

据我所知,对于MS SQL,PostgreSQL和even MySQL数据库(因此,我假设,通常对于RDBMS引擎),您不能简单地备份它们所托管的文件系统,而是需要执行SQL级备份具有内部一致性的希望,因此可以真正还原.

但是然后answers like this和实际上the official docs referenced似乎暗示人们可以仅依靠数据库数据:

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

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

解决方法:

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

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

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

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

标签:database-backups,docker,postgresql,mysql,database
来源: https://codeday.me/bug/20191028/1950438.html