我有一个Windows 2008 R2机器,在它上有两个MySQL MyISAM数据库。这些数据库相当大,因为它们的总和超过20 as。
我每周更新一次这些数据库。(我在这个过程中禁用了我的网站--但这对我来说没问题)。然后关闭MySQL服务器实例,并将物理文件夹复制到同一服务器上的另一个备份文件夹(已盖销-例如: CB1_17_03_2016)。
不过,我最近注意到的是,在备份文件夹中,单个文件(或大多数文件)-- .MYD、.MYI等--与实际的MySQL数据文件夹中的文件有不同(旧的)修改日期/时间。这就像文件被复制了,而没有刚才的更改。我在.bat文件中使用以下代码复制数据文件:
REM Switch off MySQL service, backup the newly updated folders, and switch on MySQL service again.
SET BackupFolder=C:\Backups\Data
FOR /f "tokens=1-5 delims=/ " %%d in ("%date%") DO SET Folder1=%BackupFolder%\CB1_%%d_%%e_%%f
FOR /f "tokens=1-5 delims=/ " %%d in ("%date%") DO SET Folder2=%BackupFolder%\CB2_%%d_%%e_%%f
SET MySqlFolder=...the folder where the MySQL data files are...
robocopy "%MySqlFolder%\cb1" "%Folder1%"
robocopy "%MySqlFolder%\cb2" "%Folder2%"
cd "%MySQLPath%" (set to MySql.exe location)
NET START MySQL此复制将在更新表后立即发生。在关闭MySQL实例和复制文件之前,我是否需要发出同花顺表或类似的东西?
提前谢谢你,蒂姆
发布于 2016-04-01 14:56:50
也许,可以使用以下方法:
发布于 2016-04-01 17:41:01
您想要做的是所谓的物理备份,在复制原始数据库文件的意义上。
更安全的方法是停止mysql并复制整个目录-换句话说,您已经在做什么。
您会看到备份上的修改时间较长,这可能是因为当您重新启动mysql服务时,表文件会被触摸,它们的最后修改时间也会被更新。
为了确保文件是相同的,在重新启动mysql服务之前,可以在这两个文件上运行一个MD5比较器。比较之后,重新启动服务并检查文件的最后修改时间是否被更新。
https://serverfault.com/questions/767583
复制相似问题