发布于: Nov 30, 2022

【概要】数据库迁移怎么操作?随着 Amazon Aurora 数据库越来越受到客户的认可,不少人都有这样的疑问,如何将数据迁移至 Amazon Aurora,今天我们就来介绍两种最常见最简单的迁移场景及操作。

数据库迁移怎么操作?随着 Amazon Aurora 数据库越来越受到客户的认可,不少人都有这样的疑问,如何将数据迁移至 Amazon Aurora,今天我们就来介绍两种最常见最简单的迁移场景及操作。

 

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

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

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

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

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

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

 

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

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

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 选项。

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

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

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

 

相关文章