我正在开发一个PHP类,实现使用PDO
将本地数据库的表与远程数据库同步。
问题
我正在寻找一些想法/方法/建议来实现我的“同步”过程中的“备份”功能。思路是:在实际插入数据之前,先清空本地表的数据。时间不是一个因素,所以我认为这是最干净和最简单的解决方案,我不必担心检查数据差异等问题。问题是,我希望在插入数据时实现某种安全措施,以防出现插入数据的问题,如互联网连接丢失或其他问题。我目前唯一的想法是:复制要同步的表->清空该表->将远程表的数据插入到本地表中->如果成功,则删除备份副本。
我正在开发一个PHP类,实现使用PDO
将本地数据库的表与远程数据库同步。
问题
我正在寻找一些想法/方法/建议来实现我的“同步”过程中的“备份”功能。思路是:在实际插入数据之前,先清空本地表的数据。时间不是一个因素,所以我认为这是最干净和最简单的解决方案,我不必担心检查数据差异等问题。问题是,我希望在插入数据时实现某种安全措施,以防出现插入数据的问题,如互联网连接丢失或其他问题。我目前唯一的想法是:复制要同步的表->清空该表->将远程表的数据插入到本地表中->如果成功,则删除备份副本。
推荐使用mk-table-sync工具,它可以比较两个不同服务器上的表,使用行块的校验和进行比较。如果某个块在两个服务器之间完全相同,则无需复制。如果块不同,则只复制所需的块。您无需清除本地表。
另一种选择是将远程数据复制到不同的表名中。如果成功完成,则删除旧表并将新的本地副本重命名为原始表的名称。如果复制失败或被中断,则删除具有不同名称的本地副本并重试。同时,您的其他本地表保持不变。