Php 如何将mysql本地数据库与AWS云数据库同步

Php 如何将mysql本地数据库与AWS云数据库同步,php,mysql,amazon-ec2,Php,Mysql,Amazon Ec2,我正在做我的项目:癌症数据预测的云工具。但我不知道如何将MySQL本地数据库与AWS云数据库同步。 我在Mac系统上开发了一个带有MAMP堆栈的网站,该网站是一个患者管理系统,可用于插入、查询、更新或删除患者数据。我还设置了具有LAMP堆栈的ANAWSEC2实例。要求是:本地数据库的任何更改(包括插入、查询、更新或删除)都需要与云数据库同步,这意味着任何更改都可能触发AWS MySQL数据库的相应更改。谁能帮我一下吗?最好的解决方案是什么?万分感谢 您有几个选项,因为您是在EC2上托管的,所以我

我正在做我的项目:癌症数据预测的云工具。但我不知道如何将MySQL本地数据库与AWS云数据库同步。
我在Mac系统上开发了一个带有MAMP堆栈的网站,该网站是一个患者管理系统,可用于插入、查询、更新或删除患者数据。我还设置了具有LAMP堆栈的ANAWSEC2实例。要求是:本地数据库的任何更改(包括插入、查询、更新或删除)都需要与云数据库同步,这意味着任何更改都可能触发AWS MySQL数据库的相应更改。谁能帮我一下吗?最好的解决方案是什么?万分感谢

您有几个选项,因为您是在EC2上托管的,所以我会看看这些选项。如果您托管在AWS RDS或其他设备上,而不是在EC2上托管自己的设备,则这种情况会有所改变

  • 在服务器之间设置MySQL复制。您的内部服务器可以作为主服务器,web主机服务器可以作为从服务器。在主设备上执行的任何更新都将立即复制到从设备(假设连接正常)。这很可能是最容易和最有效的选择。要使用复制,需要通过网络从web主机访问内部数据库
  • 您可以阅读有关复制的更多信息

  • 每天,您都可以在内部服务器上执行mysqldump,将转储文件上载到web主机,然后导入数据。由于这是一个完全转储,如果您有一个非常大的数据库,这可能是不可行的。如果愿意,可以编写此过程的脚本,以避免手动执行

  • 您可以在内部服务器上进行设置。然后,您可以将二进制日志发送到web主机并将其应用到数据库,从而有效地将当天发生的所有事务播放到web服务器。实际上,无论如何,复制都会发生这种情况,因此您几乎总是使用复制设置,而不是此选项


  • 如果两个数据库之间没有连接,那么每天使用mysqldumps将是最简单的方法。

    谢谢,@Benloper我尝试通过方法1实现。但是我发现我的本地服务器没有公共IP。因此,我可能需要设置另一个具有公共IP的云服务器。是的,您可以设置一个公共mysql RDS数据库,然后代理到其中。您可能希望将MySQLWorkbench之类的东西同步到它,以便更轻松地移动。