如何将某些数据(由简单查询返回)从AWS RDS 中的一个数据库移动到另一个数据库?
尽管我们不建议中断 20 分钟,但可以接受。
我目前的计划是使用 Sequel Pro 执行导出,然后将其导入目标数据库,但我想知道是否有更好的方法来做到这一点。
顺便说一句:数据库主要是 InnoDB 和一些 MyISAM 表。
答案1
您的问题很不明确,但如果我理解正确的话,最简单的方法是使用select into
查询,将查询结果插入到表中,然后可以使用转储和加载将其复制到目标系统,或者根据 coredump 的建议进行复制。
答案2
您不能设置复制吗?这可能是更安全/更快捷的方法,但我不确定您是否可以只复制某些查询(不过,您可以使用特定数据库来执行此操作)
答案3
如果它们都是 MySQL 数据库,那么您可能可以使用联合引擎(它有助于访问远程服务器上的数据库)来使用计划任务更新远程数据库,以根据需要经常进行更新。
答案4
这个帖子有点过时了。AWS 现在为此提供了 Data Pipeline 产品。但是,我也有同样的需求,需要定期将部分数据从一个数据库移动到另一个数据库(不同的 RDS 服务器)。我采取的方法是创建一个由 Iron.io 托管的 cron 作业。该服务也在 AWS 美国东部运行,因此网络延迟不大。连接到一台服务器,获取数据并格式化。然后连接到另一台服务器并更新。您可以每 5 分钟使用 Iron Worker 运行一次作业。