此示例将 Microsoft SQL Server 数据库迁移到 MySQL,并为每个步骤包含一个图像。
从 MySQL Workbench 中,选择Database,然后 选择Migrate以打开迁移向导并显示迁移向导概述(参见下图)。
概述
它描述了在继续进行之前应该了解的先决条件和要求。Open ODBC Administrator选项将加载
odbcad32.exe
,用于确认已安装 ODBC Driver for SQL Server,并在需要时进行配置更改。
单击“开始迁移”继续。
来源选择
选择要迁移到 MySQL 的源 RDBMS。选择要迁移的 数据库系统,其他连接参数将相应更改。下图显示了连接会话的示例。
目标选择
目标是将包含新迁移的数据库的 MySQL 数据库(参见下图)。当前的 Workbench MySQL 连接将在此处可用,或者您可以选择管理数据库连接来创建新连接。
获取模式列表
从源和目标 RDBMS 中检索模式列表(参见下图)。这是报告连接相关错误和/或一般日志信息的自动化信息步骤。单击下一步继续。
模式选择
选择要迁移的架构。
迁移 Microsoft SQL Server 时的“架构名称映射方法”选项:
保持模式不变:Catalog.Schema.Table -> Schema.Table:这将创建多个数据库,每个模式一个。
只有一个模式:Catalog.Schema.Table -> Catalog.Table:将每个模式合并到一个数据库中。下图显示了此映射方法的示例。
只有一个模式,将当前模式名称保留为前缀:Catalog.Schema.Table -> Catalog.Schema_table:将模式名称保留为前缀。
逆向工程源
源元数据从源 RDBMS 中获取,然后进行逆向工程。这是一个自动化的信息性步骤,可报告相关错误、一般日志信息或两者(请参见下图)。查看日志,然后单击 下一步继续。
源对象
从逆向工程源阶段发现的对象被揭示并可用。如下图所示,结果包括表、视图和例程对象,默认情况下仅选择表对象。
移民
迁移过程现在将所选对象转换为 MySQL 兼容对象(参见下图)。查看日志,然后继续。
手动编辑
共有三个要编辑的部分,可使用右上角的“视图”选择框进行选择。每个 视图都提供显示代码和消息按钮,它将显示与所选对象对应的生成的 MySQL 代码。
-
迁移问题:这将报告问题或显示“未发现映射问题”。这是一个信息屏幕。下图显示了此类消息的示例。
-
所有对象:一个对象视图,允许您查看和编辑对象定义。双击一行以修改目标对象名称。下图显示了此类消息的示例。
-
列映射:显示所有表列映射,并允许您单独查看和修复所有列类型、默认值和其他属性的映射。下图显示了此类消息的示例。
目标创建选项
可以通过将模式添加到目标 RDBMS 和/或创建 SQL 脚本文件来创建模式。下图显示了目标创建选项。
创建模式
现在模式已创建(请参见下图)。完整的日志也可以在这里找到。
创建目标结果
下图中列出了本示例中生成的对象以及错误消息(如果存在)。
也可以在此处查看和编辑迁移代码。要进行更改,请选择一个对象,编辑查询代码,然后单击 应用。对将要编辑的每个对象重复此过程。最后,单击重新创建对象以保存结果。
需要重新创建对象操作才能在此处保存任何更改 。然后它将使用修改后的代码执行之前的迁移步骤(Create Schema),然后继续迁移过程。这也意味着之前保存的架构将被删除。
数据传输设置
下一步将数据从源 RDBMS 传输到目标 MySQL 数据库。设置屏幕包括以下选项:
资料复制:
将表数据在线复制到目标 RDBMS:此方法(默认)会将数据复制到目标 RDBMS。
创建一个批处理文件以在其他时间复制数据:数据也可以转储到一个可以在以后执行的文件中,或者用作备份。此脚本使用 MySQL 连接来传输数据。
-
创建一个 shell 脚本以使用本机服务器转储和加载功能进行快速迁移:与执行实时在线复制的简单批处理文件不同,这会生成一个要在 源主机上执行的脚本,然后生成一个包含所有数据的 Zip 文件以及在目标主机上本地迁移数据所需的信息。在目标主机上复制并解压缩生成的 Zip 文件,然后执行导入脚本(在目标主机上)以使用 LOAD DATA 调用将数据导入 MySQL。
这种更快的方法避免了通过 MySQL Workbench 传输所有数据或在 MySQL 服务器之间建立永久网络连接的需要。
笔记MySQL Workbench 6.3.0 中添加了此选项。
选项(参见下图的示例):
复制数据前截断目标表:如果目标数据库已经存在,这将删除所述数据。
工作任务:默认值为
2
。这是复制数据时使用的任务(数据库连接)数。为表复制启用调试输出:显示调试信息。
批量数据传输
根据选择的选项,这会将数据传输到目标 RDMS(默认),为在线数据传输生成一个简单的脚本,或者生成脚本以在源主机上执行,然后生成一个包含传输脚本的 Zip 文件以及将在目标主机上执行的数据。或者,查看日志以确认(参见下图)。
迁移报告
最后,迁移报告可用并总结了整个迁移过程,如下图所示。
单击完成将关闭迁移窗口。如果您选择联机副本,那么现在可以在 MySQL Workbench SQL 编辑器中查看数据库,如下图所示。
如果 MySQL Workbench SQL Editor 选项卡已打开,则必须刷新对象浏览器中的模式列表才能查看新导入的模式。