MySQL工作台手册/....../ 执行数据库迁移的可视化指南

10.2.1执行数据库迁移的视觉指南

这个示例将一个Microsoft SQL Server数据库迁移到MySQL,并为每个步骤包含一个映像。

从MySQL Workbench,选择数据库然后迁移要打开迁移向导并显示迁移向导概述(请参阅下面的图形)。

概述

图10.2 MySQL工作台迁移:概述

内容在周围的文本中描述。

它描述了在进一步进行之前应该理解的先决条件和需求。这开放ODBC管理员选项将加载odbcad32.exe.,并用于确认已安装SQL Server的ODBC驱动程序,并在需要时进行配置更改。

点击开始迁移继续。

来源选择

选择迁移到MySQL的源RDBMS。选择数据库系统正在进行迁移,其他连接参数也将相应地更改。下图显示了连接会话的一个示例。

图10.3 MySQL Workbench迁移:源选择(参数)

内容在周围的文本中描述。

目标选择

目标是MySQL数据库,该数据库将包含新迁移的数据库(请参阅下面的图形)。目前的Workbench MySQL连接将在此处提供,或者您可以选择管理DB Connections.创建新连接。

图10.4 MySQL Workbench迁移:目标选择

内容在周围的文本中描述。

fetch模式列表

从源和目标RDBMS检索模式列表(请参阅下面的图形)。这是一个自动化和信息的步骤,报告连接相关错误和/或常规日志信息。点击下一个继续。

图10.5 MySQL Workbench迁移:fetch模式列表

内容在周围的文本中描述。

模式选择

选择要迁移的模式。

迁移Microsoft SQL Server时的“模式名称映射方法”选项:

  • 保持模式不变:Catalog.Schema.Table ->模式。Table:这将创建多个数据库,每个模式一个。

  • 只有一个模式:Catalog. schema . table -> Catalog。Table:将每个模式合并到单个数据库中。下图显示了这种映射方法的一个示例。

  • 只有一个架构,将当前模式名称保留为前缀:catalog.schema.table - > catalog.schema_table:将架构名称保存为前缀。

图10.6 MySQL工作台迁移:模式选择

内容在周围的文本中描述。

逆向工程源

源元数据从源RDBMS获取,然后是反向设计的。这是一个自动化的和信息步骤,报告相关错误,常规日志信息或两者(请参阅下面的图形)。查看日志,然后单击下一个继续。

图10.7 MySQL工作台迁移:反向工程源

内容在周围的文本中描述。

源对象

发现的物品逆向工程源舞台被揭示和提供。如下图所示,结果包括Table、View和Routine对象,默认情况下只选择Table对象。

图10.8 MySQL工作台迁移:源对象

内容在周围的文本中描述。

移民

迁移过程现在将选择的对象转换为MySQL兼容的对象(见下图)。查看日志,然后继续。

图10.9 MySQL Workbench迁移:迁移

内容在周围的文本中描述。

手动编辑

有三个部分需要编辑,它们是通过使用看法在右上方的选择框。这显示代码和消息按钮在每个视图中都是可用的,它将显示生成的MySQL代码对应于所选对象。

  • 迁移问题:这将报告问题或显示“没有发现映射问题”。这是一个信息屏幕。下图显示了此类消息的示例。

    图10.10 MySQL工作台迁移:手动编辑(迁移问题)

    内容在周围的文本中描述。

  • 所有对象:一个对象视图,允许您查看和编辑对象定义。双击一行以修改目标对象的名称。下图显示了此类消息的示例。

    图10.11 MySQL Workbench迁移:手动编辑(所有对象)

    内容在周围的文本中描述。

  • 列映射:显示所有表列映射,并允许您单独查看并修复所有列类型,默认值和其他属性的映射。下图显示了此类消息的示例。

    图10.12 MySQL工作台迁移:手动编辑(列映射)

    内容在周围的文本中描述。

目标创建选项

可以通过将其添加到目标RDBMS,创建SQL脚本文件或两者都创建模式。下图显示了目标创建选项。

图10.13 MySQL Workbench迁移:目标创建选项

内容在周围的文本中描述。

创建模式

现在创建了模式(参见下面的图)。完整的日志也可以在这里获得。

图10.14 MySQL Workbench迁移:Create Schema

内容在周围的文本中描述。

创建目标结果

在此示例中的生成对象列在如下图中,以及如果存在错误消息。

迁移代码也可以在这里查看和编辑。要进行更改,请选择一个对象,编辑查询代码,然后单击申请。对将编辑的每个对象重复此过程。最后,点击重新创建对象保存结果。

笔记

重新创建对象操作需要在此处保存任何更改。然后它将执行以前的迁移步骤(创建模式)使用修改后的代码,然后继续迁移过程。这也意味着将删除先前保存的架构。

图10.15 MySQL Workbench迁移:创建目标结果

内容在周围的文本中描述。

数据传输设置

下一步将数据从源RDBMS传输到目标MySQL数据库。设置屏幕包括以下选项:

数据副本

  • 表数据的在线副本到目标RDBMS:这个方法(默认)将数据复制到目标RDBMS。

  • 创建批处理文件以在另一个时间复制数据:数据也可以将数据转储到可以在稍后执行的文件中,或用作备份。此脚本使用MySQL连接来传输数据。

  • 创建一个shell脚本以使用本机服务器转储和加载能力来快速迁移:与执行实时在线副本的简单批处理文件不同,这会生成要在上执行的脚本来源主机然后生成包含所有数据和信息所需的zip文件,以在目标主机上本地迁移数据。复制并提取目标主机上生成的zip文件,然后在目标主机上执行导入脚本(在目标主机上)以使用负载数据调用将数据导入MySQL。

    这种更快的方法避免了通过MySQL工作台传输所有数据,或者在MySQL服务器之间建立永久的网络连接。

    笔记

    此选项已在MySQL Workbench 6.3.0中添加。

选项(示例见下图):

  • 在复制数据之前截断目标表:如果目标数据库已经存在,这将删除所述数据。

  • Worker tasks:默认值为2。这是复制数据时使用的任务数(数据库连接)。

  • 为表副本启用调试输出:显示调试信息。

图10.16 MySQL Workbench迁移:数据传输设置

内容在周围的文本中描述。

批量数据传输

根据所选择的选项,这将数据传输到目标RDMS(默认),为在线数据传输,生成一个简单的脚本或生成脚本执行在源主机上,然后生成一个Zip文件,其中包含转移脚本和数据将在目标主机上执行。可选地,查看日志以进行确认(参见下面的图)。

图10.17 MySQL Workbench迁移:批量数据传输

内容在周围的文本中描述。

移民报告

最后,可以使用迁移报告,并总结如下图所示的整个迁移过程。

图10.18 MySQL Workbench迁移:迁移报告

内容在周围的文本中描述。

点击完成将关闭迁移窗口。如果选择在线副本,则现在可以在MySQL Workbench SQL编辑器中查看数据库,如下图所示。

图10.19 MySQL Workbench迁移:查看迁移数据库

内容在周围的文本中描述。

笔记

如果已经打开了MySQL Workbench SQL Editor选项卡,那么必须刷新Object Browser中的模式列表,以便查看新导入的模式。