MySQL复制如何保持同步?

时间:2017-06-29 16:16:52

标签: php mysql replication

我有1个MySQL服务器来支持PHP应用程序。应用程序中的逻辑需要多个查询。例如,要添加事务,我需要创建多个查询对象并单独运行这些查询而不使用commit。意味着首先在表中添加一个对象的事务数据。为了添加付款方式,我正在创建不同的对象。

现在它很好,因为我只有一个MySQL服务器。如果我有多个服务器(MySQL Master-Slave)会发生什么。

在一次操作中创建不同的对象将调用不同的服务器。并且由于延迟数据可能在另一台服务器上不可用。

请告诉我这样做。如果问题不明确,请要求澄清。谢谢!

2 个答案:

答案 0 :(得分:2)

这确实不是复制的问题。假设您有查询A,然后是查询B(依赖于A)和查询C(依赖于B)。

所以你做了直接的事情并按照A,B和C的顺序运行它们.Replication按照相同的顺序将它们放入一个日志中。因此,当你的奴隶执行它们时,它将以相同的方式和相同的顺序执行它们。

即使它们不同步,奴隶也会知道它在日志中的最后停留位置并将在那里重新找回。如果您使用RDS设置从属设备,则会自动为您处理。

答案 1 :(得分:0)

如果您正在考虑使用RDS,则将查询群集端点。该集群端点将自动命中活动的服务器并在那里创建查询。 提交查询后,从属数据库将自动同步以反映您的更改。这需要几毫秒。