主页 > 数据库 > 从MySQL数据库迁移到Amazon Aurora

从MySQL数据库迁移到Amazon Aurora

本文描述了在各种不同的场景下,如何把MySQL数据库的数据迁移到Amazon Aurora里。

以下内容的描述,如果没有特别说明,都是基于AWS的us-west-2区进行介绍,并且按照从简单到复杂的顺序对各种场景进行描述。

场景一:Amazon MySQL RDS迁移到Amazon Aurora并有停机时间

如果客户正在使用Amazon MySQL RDS,并且有足够的停机迁移的时间窗口的话,那么可以通过RDS快照的方式进行迁移。具体操作过程如下:

1)停止应用程序对源数据库的写入操作。

2)对源数据库创建快照,可以使用图形界面进行操作,选中要迁移的数据库实例,Actions下来菜单中选择Take snapshot,如下图所示:

各种场景下从MySQL数据库迁移到Amazon Aurora各种场景下从MySQL数据库迁移到Amazon Aurora

3)根据快照恢复出一个Aurora数据库。可以使用图形界面操作,在数据库列表中,选中之前创建快照的数据库实例,Actions下来列表中选择Migrate snapshot,如下图所示:

各种场景下从MySQL数据库迁移到Amazon Aurora

在随后显示的页面中,输入Aurora数据库的相关信息即可,包括指定一个新的Aurora数据库实例名称,网络配置等,这部分内容与直接创建一个新的Aurora数据库是完全一致的。

各种场景下从MySQL数据库迁移到Amazon Aurora

4)等到Aurora数据库创建好以后,就可以修改应用程序的连接字符串,指向Aurora,从而投入使用了。

场景二:Amazon MySQL RDS迁移到Amazon Aurora并要求最小停机时间

如果客户正在使用Amazon MySQL RDS,并且没有足够的停机时间来通过snapshot的方式进行迁移的话,那么可以通过为MySQL RDS创建Aurora读副本的方式进行迁移。具体操作过程如下:

1)在控制台界面上选中要迁移的MySQL RDS数据库,在Actions下拉菜单中选择Create Aurora read replica,如下图所示:

各种场景下从MySQL数据库迁移到Amazon Aurora

2)在创建Aurora副本的界面上输入相关的信息,其过程与创建一个新的Aurora数据库类似。

在创建Aurora读副本的过程中,源MySQL RDS数据库可以仍然被业务系统访问并使用。在读副本创建完毕以后,该副本的内容会自动与MySQL RDS主库保持数据同步。

在确定要进行切换之前(通常都是在业务低谷的时间段),关闭应用程序,从而停止应用程序对主库的写入操作,并登陆到Aurora里执行下面的命令来判断Aurora读副本是否与主库保持同步了:

show slave status G

检查输出里的Seconds_Behind_Master字段的值,如果为0则表示Aurora读副本已经与MySQL RDS主库保持同步了。否则继续等待,直到该字段为0为止。然后选择Aurora只读副本,在Actions下拉菜单中选择Promote选项:

各种场景下从MySQL数据库迁移到Amazon Aurora

在弹出的界面中,选择Promote Read Replica按钮,从而把Aurora只读副本提升为主库:

各种场景下从MySQL数据库迁移到Amazon Aurora

一旦完成主从切换,再次登陆到Aurora数据库,执行show slave status的时候,会发现已经没有输出信息了。这也就说明Aurora数据库已经不再是一个只读副本,而变成了一个完全独立的数据库。

修改应用程序的数据库连接字符串,使其指向Aurora数据库,并启动应用程序,从而开始在生产环境中使用Aurora数据库。

场景三:自建MySQL数据库迁移到Amazon Aurora并有足够的停机时间

如果客户没有使用Amazon MySQL RDS,而是在EC2虚拟机里,或者本地数据中心的服务器上,由客户自己部署安装的MySQL数据库,需要迁移到Aurora数据库,同时也有足够的停机迁移时间窗口,那么可以使用备份恢复的方式,进行迁移。其操作过程如下:

1)到Percona官方网站上下载XtraBackup工具,这里下载4.1版本。

下载链接:

https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!