我有 2 个带有 MyISAM 表的数据库在 Windows 2008 Server 上运行。这些数据库的大小约为 20GB,其中有一些表有数百万行。我的问题是关于每周备份它们。目前,我每周进行一次更新,然后转到数据文件夹并将代表数据库的物理文件夹复制到服务器上的另一个驱动器,然后将所有内容 rar 起来。
此过程大约需要 45 分钟,在此期间我的网站的某些功能无法使用,因为在复制过程中,表格被阻止。我已经看到您可以锁定和刷新表,以便在复制它们时仍然可以使用它们。那么锁定表是否允许并发 SELECT?
我不知 Prop 体如何解决这个问题,如果有人可以帮助我如何将锁定/刷新语句与物理数据的复制以及随后的解锁同步,以及如何同步,我将不胜感激是否可以自动化(可能编写为 dos 批处理文件的脚本)此过程?
提前致谢, 蒂姆
最佳答案
您必须创建 MySQL 服务器的复制(主从)并且:
- 您将在 MySQL 从实例上拥有当前数据库的运行时副本。
- 您可以停止 mysql 的从实例,在从实例上运行备份过程并再次开始复制,这不会影响主实例,当然您的站点也不会受到影响。
主从复制可以在同一台机器上使用不同的磁盘或在另一台机器上完成(推荐)。
您可以自动创建 .bat 脚本来停止/运行从属实例和备份过程,然后将此 .bat 文件添加到您的 Windows 任务中。
关于MySQL 通过复制物理文件来备份 MyISAM 表 - 并自动化该过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26069939/