主服务器和现场笔记本电脑之间的MySQL复制

时间:2014-03-19 12:12:36

标签: mysql synchronization replication

我们是一家提供各种体育赛事时间跟踪的公司。为了存储这些计时结果,我们使用带有MySQL服务器的笔记本电脑,其中包含时序数据。

在目前的情况下,我们在开车前收到主人的本地副本(主服务器,在我们网站后面运行),并在事件发生后将这些更改提交回主服务器。

在不久的将来,我们希望在我们的网站上实施实时跟踪,并将用户配置文件更改(用户可以在批量启动之前将批次更改时间)更改为现场计算机。

存在多个批次(开始时间)的事件。用户订阅某个批次,但有时当他们处于流量时,他们喜欢将批次更改为更晚的批次。

因此,我们需要双向同步,因为数据在我们的主服务器和我们的现场计算机上都会得到更新。 在大多数活动中,我们都可以上网。如果我们不这样做,我希望一旦连接再次联机就让同步工作。

我已经发现了MySQL master-master复制。这看起来很不错,但我感觉不是很满意。

有没有建议如何设置这样的环境?非常欢迎所有建议!

1 个答案:

答案 0 :(得分:1)

多主复制最适合始终连接数据库的环境。这减少了冲突的可能性。多主复制没有任何自动冲突解决方案,如果两个主服务器之间存在任何延迟,则可能导致数据不正确。

多主复制通常用于提供冗余。如果一个主机发生故障,则所有写入都可以故障转移到另一个主机。

使用多主复制时,如果在服务器之间存在延迟(未连接或连接速度较慢)时允许两个主服务器上的更新,则可能会出现数据冲突,从而导致数据不正确或意外。

多主复制不是为脱机分布式数据库同步而设计的,但如果您有避免数据冲突的策略,则可以在这种情况下使用它。

为避免完全冲突,请一次只允许更新一个数据库。

您可以设计网站以检测复制是否对本地数据库有效,如果是,则仅允许对网站进行更改,然后复制到本地数据库。

如果没有Internet连接和复制,则要求用户在本地数据库上更新事件中的数据。一旦您重新联机或重新建立连接,您就可以复制回网站数据库。

由于不同活动的数据不会发生冲突,因此当您在网站上限制正在进行的活动的更新时,这不会阻止您的网站继续运行即将举行的活动。

关于时间跟踪数据,因为根本不会在网站上更新,所以您不必担心冲突。您可以随时将该数据复制到网站管理员。