带你轻松迁移数据库到AWS
使用 AWS DMS 将数据迁移到 AWS 很简单。首先在 AWS 环境中创建复制实例,然后 AWS DMS 连接源数据库端点和目标数据库端点。迁移开始时,AWS DMS 会创建表,加载数据并同步数据库。整个复制任务都由复制实例承担,建议创建配置比较大的复制实例。 使用 AWS DMS 执行迁移的总体流程如下: 创建目标数据库。 复制架构。 创建 AWS DMS 复制实例。 定义源数据库和目标数据库的终端节点。 创建并执行迁移任务。 将 MySQL 数据迁移到 Aurora MySQL 这个案例是一个同构数据库迁移,相对来说比较简单,迁移的方案有三种,可以直接使用mysqldump导出数据,然后再导入到 Aurora,适合数据量不大的数据库,另外一种是直接把数据库的源文件复制到 S3 存储桶,可以使用 Xtrabackup 备份数据库然后传到 S3 中,然后用这些文件还原到 Aurora 数据库,适合比较大量的数据,不过这两种数据库都是离线传输,需要停机迁移。 针对实时在线迁移数据库,我们需要用到 AWS DMS,下面我将演示如何从一台 MySQL 数据库,实时迁移数据到 Aurora,对于源数据库,我们可以使用 AWS RDS,或者在 EC2 上面的自建数据库,或是其他云厂商的 MySQL 数据库,下面我选择使用在 EC2 上面自建的数据来进行演示,所以操作均在 AWS us-east-1 区域。 1、配置源数据库 源数据库我们已经有了,你可以创建一个只读权限的临时账户用于数据迁移,我们这里就直接用具有读写权限的账户演示。 2、创建 Aurora 数据库 首先我们在 AWS 控制台中创建一个 Aurora MySQL 数据库作为我们的目标数据库,因为不是主要介绍创建数据库,所以创建过程这里不再演示,创建完成之后,需要记录下数据库地址,账户密码,当然为了安全,你也可以单独创建一个用于迁移的临时账户。 3、创建复制实例 AWS DMS 复制实例执行源和目标之间的实际数据迁移。复制实例负责整个数据的迁移,对更改的数据进行缓存,所以说大一点的实例性能更好,缩短迁移时间。打开 AWS DMS 控制台,选择创建复制实例,注意网络方面的限制,需要复制实例可以连接到两个数据库。 4、创建 MySQL 终端节点 在 AWS DMS 控制台中,在导航窗格中选择 Endpoints (终端节点)。 5、创建 Aurora 终端节点 目标终端节点会更简单一写,因为是 AWS RDS,我们可以直接勾选。 6、创建迁移任务 迁移任务中的迁移类型我们选择复制现有数据以及持续复制变更的数据,记得源数据库开启 binlog 日志。 在表映射选项里面,选择告知 DMS 应该迁移哪些表,迁移过程中还可以对表名进行一些转换,我们这里就选择完全复制整个数据库。 7、监控迁移任务 再等待一段时间之后,我们可以在任务详情里面看到数据迁移完成,并且目标数据库数据检查没有问题。 我们可以看到,通过 DMS 仅仅需要简单几步就可以把数据库迁移到 AWS,并且源数据库变更数据会实时的更新到目标数据库中。 将 SQL Server 数据库迁移到 Aurora MySQL 这个案例是一个异构数据库迁移,我们会用到 AWS SCT 进行 Schema 转换,AWS DMS 支持从 RDS 迁移到 RDS,所以这次的源数据库 SQL Server 是 AWS RDS for SQL Server(Enterprise Edition)。 Schema 转换 1、在本地计算机安装 AWS SCT 需要在自己的电脑上面安装 AWS SCT 工具,以及连接 SQL Server 的 JDBC 驱动和 Aurora MySQL 的 JDBC 驱动。 驱动下载地址参照官方文档 https://docs.aws.amazon.com/zh_cn/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.JDBCDrivers 然后启动 SCT,配置一下刚刚下载的 JDBC 驱动。 2、创建迁移项目 打开 AWS SCT,选择创建一个新项目,选择源和目标数据引擎。 分别连接 SQL Server 和 AWS Aurora 数据库。 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |