我需要在本地和远程数据库之间同步记录,比如客户列表。两侧的数据库具有相同的结构。我考虑过使用某种标记(日期字段,字段值的哈希/校验和......)但是你有什么建议?
编辑:远程数据库在虚拟主机上,因此需要 PHP 来传输数据。
我需要在本地和远程数据库之间同步记录,比如客户列表。两侧的数据库具有相同的结构。我考虑过使用某种标记(日期字段,字段值的哈希/校验和......)但是你有什么建议?
编辑:远程数据库在虚拟主机上,因此需要 PHP 来传输数据。
在您的记录中包含最后更改字段(日期)始终是一个好主意。请记住,如果您开始同步,则必须处理冲突。
如果双方都可以插入,请为主键使用分区方案。示例:站点 A 从 1000000000 开始,站点 B 从 2000000000 开始(使这个数字足够大,或者简单地将主键大小除以并发站点的数量)。
粗略同步图:
如果你想通过代码同步两个数据库,你就在找麻烦。
首先,您需要处理自己的主键生成,因为在不同站点上插入记录时,主键可以/将是相同的。唯一主键生成并不容易完成。
此外,您需要一些冲突解决方案。任何一方所做的更新或删除都必须反映到另一个站点。通常,如果没有用户干预,您无法解决冲突。
我的建议:查看数据库原生的内置(双向)复制。它将为您省去很多麻烦。