我有wordpress网站使用3 mysql复制。主 - 主复制和1个从属。 现在奴隶有问题了。当从XMLRPC发布Master更新时,从站也没有获得更新。这种情况发生在几天前,在此之前工作正常,在其他服务器旁边,使用Master-Master复制工作正常。
我找不到任何错误消息,因为如果我创建新帖子或不是从XMLRPC更新它,则slave中的复制正常工作。
我不知道在遇到这个问题之前会发生什么,但只要我知道,我做的最后一件事就是将wordpress更新到版本3.4。但是,如果这也是为什么在master-master复制仍然可以正常使用版本3.4的所有站点呢?
顺便说一句,我在master上看到有很多来自slave的传输数据,与使用master / slave的其他slave服务器进行比较。来自奴隶的大约288MB传入数据。
2136K 288M ACCEPT tcp -- * * xx.14.xx.107 0.0.0.0/0 tcp dpt:3306
272K 14M ACCEPT tcp -- * * xx.18.xx.36 0.0.0.0/0 tcp dpt:3306
编辑:
我只是解决了我自己的问题:D
我的配置是3台服务器。 A和B是主 - 主复制,C是从主 - 主,A。 我的问题是因为从XMLRPC服务器(D)在创建/更新发布时(我使用单个域)将我的域解析为服务器B所以如果不是来自A,它似乎无法更新从属C. 我忘记了我也要搬到新的服务器D.
我不知道如果使用XMLRPC只能从A更新Slave C是否正常,但至少解决了我的问题。 :d
答案 0 :(得分:0)
看看你的“解决方案”,我可以告诉你复制的问题
如果A和B是真正的主 - 主,则对B执行的写操作将复制到A.如果C是A的从属,则A上的所有写入也会复制到C。
我怀疑你在mysql中的服务器“server-id”设置是错误的。 I.E. C和B具有相同的服务器ID。
可能是你的auto_increment_increment没有设置为2(你需要2个写主设备的最小值),或者你的auto_increment_offset在每个写主设备上都没有不同。我怀疑,如果它是其中任何一个,你的复制将在你写入两个服务器的任何时候破坏,你已经看到了这个问题。
答案 1 :(得分:0)
在这种情况下,您需要向A添加log-slave-updates。 默认情况下,MySQL复制不会将从主服务器收到的任何语句记录到复制日志中。每当你进行菊花链复制时,你需要确保服务器记录下来,这样它们就会被发送给它的奴隶。