使用VM备份MySQL数据库

时间:2013-09-06 11:08:29

标签: mysql virtual-machine

使用vm备份作为恢复MySQL数据库的方法是否正确? 这样做有危险吗? 我自己的感觉是vm备份/快照在os而不是db级别,因此可能无法以正确的方式备份数据库。有人对此有任何建议吗?

2 个答案:

答案 0 :(得分:2)

只要你做两件事之一就完全没问题了:

  • 通过关闭数据库或在执行快照时使用FLUSH TABLES WITH READ LOCK之类的内容来确保表的一致性(您可能不想这样做
  • 使用事务安全存储引擎,例如 InnoDB (默认值),以便在快照时间内可能发生变化的所有表格依赖于能够从看似崩溃的状态恢复,即正在运行的服务器的副本。

一旦您意识到拍摄正在运行的VM的快照并在另一台计算机上启动快照看起来就像拔掉该服务器上的插头并重新启动它,您的选择变得相对容易:确保系统可以通过拔出插头来恢复,它可以从VM快照备份中恢复。

答案 1 :(得分:2)

根据Jeff Hunter在VMWare blog上发布的建议,答案是不,依靠快照进行MySQL备份是不安全的。他的建议基本上是通过一个单独的进程转储数据库(然后允许快照复制转储)。