2017-05-25 112 views
1

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

回答

1

你有几个选择,因为你在EC2上托管我会看看这些选项。如果您在AWS RDS上托管或者在EC2上托管某些东西,这种情况会有所变化。

  1. 设置服务器之间的MySQL复制。您的内部服务器可以充当主服务器,并将Web主机服务器充当从服务器。在主站上执行的任何更新都会立即复制到从站(假设有工作连接)。这很可能是最容易和最有效的选择。要使用复制,您的内部数据库需要通过网络主机的网络访问。

你可以阅读更多关于复制here

  1. 每天,您都可以在内部服务器上执行mysqldump,将转储文件上传到Web主机并导入数据。由于这是一个完整的转储,如果你有一个非常大的数据库,这可能是不可行的。如果你喜欢,这个程序可能会被编写脚本以避免手动完成。

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

如果两个数据库之间没有连接,那么每天使用mysqldump将是最简单的路径。

+0

谢谢,@Benloper我试图通过方法1。但我发现我没有公共的IP为我的本地服务器。因此,也许我必须建立另一个具有公有IP的云服务器。 – firjjg

+0

是的,你可以建立一个公共的mysql RDS数据库,然后代理进去。您可能希望将类似MySQLWorkbench的内容同步到它,以便您可以更轻松地移动。 – Benloper

相关问题