在SQL同步期间检测主服务器/客户端是否已删除条目

时间:2012-05-24 21:30:26

标签: php mysql sql phpmyadmin xml-rpc

我有两个网站,一个是主人,一个是奴隶 客户端(必须是PC)。每个都有一个SQL数据库。我正在开发一个同步这两个函数的函数,但是我需要检测一个条目是否已被删除而另一个条目是否已被删除。例如:

Master: Apple, Orange, Banana
Client: Apple, Orange, Banana

然后主用户删除橙色。一个天真的实现会将Orange从客户端传播回Master。如何设置它以便主服务器或客户端可以删除条目,并在另一端删除它?

2 个答案:

答案 0 :(得分:1)

实现自己的多主复制方案将非常困难。但对你来说好消息是你不必。 Multi-master replication for Mysql已经可用。

答案 1 :(得分:0)

如果您正在编写replication service并且没有使用数据库提供程序的内置系统(您没有说明您正在使用哪个数据库服务器,但我猜测的是MS SQL Server)那么您可能会这样做很好地在您的数据库中实现audit tables,然后让您的服务来回发送审计行。

通过这种方式,您可以知道在何时能够解析当前数据集时发生了哪些编辑。

老实说,如果你可以使用“现成的”复制系统,那么编写自己的复制系统将很困难。