我有一个名为latest
的MySQL数据库和另一个名为previous
的数据库,它们都运行在同一台服务器上。两个数据库的内容相同。每天运行一次更新latest
的应用程序。稍后,在应用程序执行结束时,会对latest
和previous
之间的某些数据进行比较。发现的差异(如果有的话)将触发某些操作,例如通知电子邮件发送。之后,使用latest
将mysqldump
的副本转储到文件中并恢复为previous
。两个数据库现在再次同步,并且该过程在第二天重复。
我想将数据库迁移到AWS RDS。我愿意使用Aurora,但MySQL引擎也很好。是否有更简单或更有效的方法来执行 restore 进程,以便两个数据库使用RDS同步?这种方法可以避免使用mysqldump
并将结果输入previous
?
据我所知,我可以创建一个运行latest
的实例的只读副本作为previous
,但我认为在更新源数据库时更新了只读副本(好吧,异步)这会破坏以后两者之间进行比较的可能性。
使用mysqldump
进行恢复过程没有任何特殊问题,但我只是不确定如果我错过了一个技巧。
答案 0 :(得分:1)
如果你不想要一个只读副本,你使用mysqldump的选项很好但是你可以像MySQL Docs中建议的那样使用mysqlimport:
Copying MySQL Databases to Another Machine
您还可以使用mysqldump和mysqlimport来传输数据库。对于大型表,这比简单地使用mysqldump要快得多。