确定迁移方法和工具
了解迁移概念、注意事项和工具后,让我们了解如何为应用场景确定最佳工具和方法。 对于从 VM 和本地进行的所有迁移,建议使用 Azure MySQL 导入 CLI,对于其他所有迁移,建议使用 DMS。 所有其他工具都是社区工具,可以在前两个工具无法支持迁移的情况下使用。 下表有助于根据目标选取工具。
目标 | 工具 | 说明 | 优点 | 缺点 |
---|---|---|---|---|
从本地服务器或 VM 快速简单的迁移路径 | Azure Database for MySQL 导入 CLI | 将源数据库的用户提供的物理备份文件(使用 Percona XtraBackup 获取)还原到目标 MySQL 灵活服务器 | Microsoft 迁移工具。 简单工具(单个 CLI 命令)。 大型工作负载的快速物理迁移。 不需要实时连接。 可以通过设置复制来准备联机迁移。 | 仅从本地和 VM 进行迁移,因为它需要 Percona Xtrabackup 备份文件。 |
从任何源快速联机和脱机迁移,托管在任何位置,包括 AWS RDS 和 Aurora | Azure 数据库迁移服务 (DMS) | 一项完全托管服务,旨在实现从多个数据库源到 Azure 数据平台的无缝迁移,并最大限度地缩短故障时间(联机迁移)。 | Microsoft 迁移工具。 同时支持脱机和联机迁移。 基于 UI。 可重复的迁移模板。 支持迁移数据、架构以及用户帐户和特权。 | 需要实时连接。 |
使用 MySQL 社区工具迁移大型工作负载 | mydumper 和 myloader |
下载并安装命令行工具。 将数据并行从源移到目标。 可以高速实现。 | 由于并行导出和导入,快速迁移大型工作负载。 | 可能需要限制数据导入。 |
使用 MySQL 本机工具进行联机迁移 | binlog |
设置从源到目标的 MySQL 二进制日志复制。 实时复制更改。 复制延迟为零后切换数据库。 | 内置复制机制,还用于实施只读副本。 | 更多手动和高级。 需要更多资源来存储和处理数据 |
高度自定义的脱机迁移 | mysqldump |
将源数据库的所有(或某些)内容导出为 SQL 语句,并在目标服务器中执行以迁移源的数据。 | 高度灵活的内置工具。 有选择地导出和导入对象。 | 手动。 对于大型工作负载,性能不佳。 |
半自动脱机迁移 | MySQL Workbench | 下载并安装 UI 导出和导入工具。 | 半自动化;基于 UI 的导出和导入 | 仅支持常见开关和选项 |