Mysql复制两个数据库

时间:2018-03-31 17:09:59

标签: mysql

我有一个在线数据库设置,我在那里接受用户注册并为他们提供一个进入活动的通行证(人们聚会),现在在活动中我还必须进行用户注册,情况是互联网在活动中并不总是稳定的所以我正在考虑将数据库设置为离线,我找到了一些关于mysql复制的指南,但是如果可能的话,我没有全面了解。

在活动中,我将在我的localhost设置数据库并注册用户离线,也可以在线注册新的注册(在其他服务器上托管相同数据库的在线),用户表有一个自动增量索引,这将是一个巨大的问题使用mysql复制同步两个数据库,当两个服务器都将记录添加到同一个表时,它将为两个数据库分配相同的索引ID。我能做些什么来避免这个问题。

3 个答案:

答案 0 :(得分:0)

嗯,master-master replication确实存在,并且可能适合您的目的,但它有一些缺点。

我认为您应该考虑在现场以不同的形式进行注册,然后在回家时将它们插入主数据库。这是一种非常常见的做事方式。

如果您确实需要使用MySQL,请提出" merge"可以根据需要重新创建异地创建的用户的工具;正如您所指出的,您需要考虑不同的自动增量ID,但这不一定是实际问题。它只需要处理。

答案 1 :(得分:0)

如果你主要担心的是你有2个系统需要生成彼此独特的id而没有协调,那么你可以做以下几件事:

  • 使用auto_increment_increment and auto_increment_offset。简单地说,您的2台服务器中的1台甚至可以使用ID,而另一台服务器可能使用奇数。
  • 使用其他密钥,也许是自然密钥(电子邮件地址?)
  • 使用类似UUID的东西(如果您在微软世界中使用GUID。他们真的是一样的。)

答案 2 :(得分:-2)

您可以将数据库从服务器转储到本地终端,如下所示。

运行命令:mysqldump -h hostname -u username -ppassword databasename> C:\ path_to_file