我的一个客户在Windows Server 2008系统上运行MySQL。 他们的常规备份是使用StorageCraft的ShadowCopy执行的,ShadowCopy使用VSS服务来执行打开文件的备份。
有些调查表明,MySQL并不完全支持VSS,并且需要在影子操作之前locking表格,然后再解锁。 在http://forum.storagecraft.com/Community/forums/p/548/2702.aspx上有一个post,指出了需要执行的步骤,但是用户在执行这些步骤时遇到了一些困难,并且没有后续的解决scheme曾经发布。 具体来说,他们成功地编写了一个batch file来locking数据库,但是一旦batch file从MySQL返回,就会丢弃连接,从而放弃locking。
我正在寻找一种方法,我可以发送MySQL命令FLUSH TABLES WITH READ LOCK ,然后执行备份,然后在备份完成时发送UNLOCK TABLES 。
或者,我可以从备份中排除MySQL数据存储文件夹,并将mysqldump备份安排到一个文件夹中,然后由VSS进行备份。
我能有一些build议吗?
由于MySQL的指令“系统”或“!”只能在linux下运行,所以你的服务停止了,把你的vss快照和启动服务。
系统命令将允许从MySQL内部采取vss快照,所以你不会失去locking。 我相信它用于LVM快照备份。