使用 vm 的备份作为恢复 MySQL 数据库的方法是否正确?这样做有什么危险吗?我自己的感觉是 vm 备份/快照位于 os 而不是 db 级别,因此可能无法以正确的方式备份数据库。有人对此有任何建议吗?
问问题
1956 次
2 回答
2
只要您做以下两件事之一,那就太好了:
- 通过关闭数据库或
FLUSH TABLES WITH READ LOCK
在执行快照时使用类似的东西来确保表的一致性(您可能不想这样做) - 使用事务安全的存储引擎,例如InnoDB(默认),用于所有可能在快照时间前后发生变化的表,并依靠它从看起来像崩溃的状态中恢复的能力,即正在运行的副本服务器。
一旦您意识到为正在运行的虚拟机拍摄快照并在另一台机器上启动快照看起来就像拔掉该服务器上的插头并重新启动它,您的选择就变得相对容易:确保系统可以从拔掉插头中恢复,并且它可以从 VM 快照备份中恢复。
于 2013-09-06T11:15:59.703 回答
2
根据 Jeff Hunter 在VMWare 博客上发布的建议,答案是否定的,依靠快照进行 MySQL 备份是不安全的。他的建议基本上是通过单独的进程转储数据库(然后允许快照复制转储)。
于 2015-06-12T00:42:09.590 回答