Mysql复制两个数据库

Mysql复制两个数据库,mysql,Mysql,我有一个在线数据库设置,在那里我进行用户注册并向他们提供进入活动(人员聚集)的通行证,现在在活动中我还必须进行用户注册,情况是活动中互联网并不总是稳定的,所以我考虑离线设置数据库,我找到了一些关于mysql复制的指南,但如果可能的话,没有得到完整的信息 在活动中,我将在本地主机上设置数据库并离线注册用户,同时在线进行新注册(在托管同一数据库副本的其他服务器上),users表有一个自动增量索引,这将是使用mysql复制同步两个数据库的一个巨大问题,当两台服务器将一条记录添加到同一个表中时,它将为两

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

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

确实存在,可能适合您的目的,但它有一些缺点

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


如果你真的需要使用MySQL,那就设计一个“合并”工具,可以根据需要重新创建离线创建的用户;正如您所指出的,您需要考虑不同的自动增量ID,但这不一定是一个实际问题。它只需要处理。

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


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

如果您主要关心的是您有两个系统需要生成彼此唯一的id,而无需协调,那么您可以做以下几件事:

  • 使用。简单地说,两台服务器中的一台可能使用偶数id,另一台可能使用奇数id
  • 使用不同的密钥,可能是自然密钥(电子邮件地址?)
  • 使用UUID之类的东西(如果你在微软的世界里,也可以使用GUID。它们实际上是一样的)

改进问题的建议-添加上下文。你开始谈论“事件”,好像我们应该知道这意味着什么。只有在以后,我们才能猜到您指的是某种形式的人在某个地方的物理聚集。重新创建用户的问题是,当我合并数据库时,它将重新创建ID,当用户注册时,我们必须在他/她的入口卡上打印ID。@user969068:您是在活动中打印ID,还是稍后发送ID?最好只是在活动中接受人们的注册请求,然后在您有适当的办公室访问权限时完成注册。完成后将ID邮寄出去。用户ID不应该像这样自动递增。我们希望在脱机/联机两个数据库中维护ID的原因有很多,我们还将有新的注册和用户在线或离线修改他们的帐户数据。我们的条形码扫描器上附有身份证,由于活动期间可能存在无法连接互联网的威胁,因此情况非常复杂。我们已经安排了2个ADSL 1 4G,但我仍然想确定他们是否有任何可能的解决方案,我只是在这里找到了一些信息,试图弄清楚他对
auto_increment\u increment=2
@user969068的意思:好吧,你不能这么做。如果用户ID是唯一和权威的,并且一次只能在一个位置生成,那么一次只能在一个位置创建新用户。就这么简单。或者暂时“移动”您的系统(在活动期间禁用internet系统并仅使用笔记本电脑系统),或者让您的用户仅请求在活动中注册,但稍后满足请求。听起来你用条形码扫描仪把它复杂化了。你知道这家伙在说什么吗
auto_increment\u increment=2
这甚至还不能回答这个问题。