日期:2013-08-30  浏览次数:20515 次

用于数据迁移的 MySQL 工具


MySQL 提供了几个客户端工具和实用程序,最常用的有:
  • mysql - 一个交互式客户程序,可以对数据库发布查询并查看结果
  • mysqldump - 此工具可以提取 MySQL 数据库中的架构和数据,并放到一个文件中
  • mysqlimport - 此工具可以读取文件中的架构和数据,并放到一个 MySQL 数据库中
  • mysqladmin - 此工具可以执行管理任务,比如创建数据库和删除数据库
  • myODBC - 一个 32 位的开放式数据库连接软件,可提供 ODBC 级别 0(有级别 1 和级别 2 的功能)驱动程序,用于将 ODBC 识别的应用程序连接到 MySQL

SQL Server 的迁移工具


SQL Server 有一组丰富的工具和实用程序,可以简化从 MySQL 的迁移。SQL Server 2000 数据转换服务 (DTS) 是一组图形化工具和可编程对象,用于从各种来源提取、转换和合并数据到一个或多个目标。

数据转换服务的功能


Microsoft SQL Server 2000 中的数据转换服务提供了从不同数据源迁移数据的方法。DTS 可以用向导程序驱动,也可以用 DTS 程序包设计器创建。DTS 向导可以快速完成数据直接复制。程序包设计器允许开发人员用多种编程语言编写自定义转换脚本。DTS 工具允许您:
  • 将数据从 MySQL 迁移到 SQL Server 2000
  • 在迁移前显示数据
  • 迁移数据表、数据类型,例如文本和日期
  • 用 MySQL 数据表迁移 MySQL 数据库
  • 生成并查看迁移报告
  • 自定义数据表和默认的数据类型映射规则
  • 解决冲突,比如 SQL Server 保留字冲突
  • 删除并重命名 SQL Server 架构模型中的对象
  • 迁移单个数据表数据

数据转换服务术语


以下是用于描述 DTS 的术语:
DTS 程序包是一个连接、DTS 任务、DTS 转换以及工作流约束的有组织的集合,可以在 DTS 设计器中用图形化方式或用编程方式汇编在一起。
DTS 任务是一个分立的功能集合,在程序包中单步执行。每个任务都定义一个数据移动和数据转换过程中要执行的工作项目,或者一个要执行的作业。
DTS 转换是数据到达目的地之前要对它应用的一个或多个功能或操作。
DTS 程序包工作流允许数据转换服务 (DTS) 逐步运行,由优先约束对 DTS 程序包中的工作项目进行排序。您可以在 DTS 设计器中用图形方式设计 DTS 数据包工作流,也可用编程方式设计。
元数据为 DTS 提供的功能可以将程序包元数据和数据沿袭信息保存到元数据服务,并链接那些信息类型。您可以存储程序包中引用的数据库的类别元数据,以及统计与数据集市或数据仓库中特定数据行有关的历史信息。

直接迁移


将数据从 MySQL 迁移到 Microsoft SQL Server 的最直接选项是安装 myODBC 支持并创建一个 DTS 程序包,用它们将数据库从 MySQL 导入并创建到 Microsoft SQL Server。
以下是设置 Microsoft SQL Server 以迁移 MySQL 数据库的逐步操作。
  1. 安装 MyODBC 支持,它可在以下网址下载 http://www.mysql.com/
  2. 安装过程中,系统会提供以下对话框:

    如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
    填写 ODBC 安装设置,使用如下信息:
    Windows DSN 名称:

    test

    说明:

    这是个测试数据库

    MySQL 数据库:

    test

    服务器:

    seawolf.microsoft.com

    用户:

    cgunn

    密码:

    my_password

    端口:

    3306

    使用上述设置后,Windows DSN 名称在建立连接的计算机上必须唯一,服务器设置会完全验证域名(确保 DNS 或您提供的名称具备名称解析)或 IP 地址的有效性。
  3. 然后,执行 DTS 向导程序。从 Microsoft SQL Server 程序组中选择“Import and Export Data”,您会看到以下对话框。

    如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
    单击 Next 到下一步。
  4. 现在提供必要的数据源选择信息,此信息应该是,ODBC 数据源为 MySQL,test 为 System DSN,然后提供安全证书、用户名和密码(见下一个对话框),然后单击 Next

    如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
  5. 填写目标连接的详细信息,如下面的对话框所示,然后单击 Next

    如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
  6. Specify Table Copy or Query 对话框让您在此选择数据源中的数据库对象选项,这里的数据源是 MySQL。在来源数据库中选择 Copy Table(s) 和 View(s)。另外需要说明的重要一点是,MySQL 不支持视图,所以选择此选项后,它将只复制数据表对象,单击 Next 继续。

    如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
  7. 下一个是 Select Source Tables and View 对话框,您可以在这个对话框中选择来源数据表和目标数据表。

    如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
  8. 单击椭圆按钮进行数据转换,如下面的 Column Mappings and Transformations 对话框所示。

    如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
    在这个对话框中,来源数据类型已经与目标数据类型匹配,空数据字段已经被选中。完成后,单击 OK
    然后会出现 Save, Schedule, and Replicate Package 对话框,允许您安排迁移时间,避开使用高峰期,同时允许您将 DTS 程序包用不同格式保存到不同地方。

    如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
  9. DTS 保存程序包对话框对 DTS 程序包提供了两类密码。第一个密码是所有者密码,允许您保护程序包内的所有用户/密码信息,而用户密码用于执行程序包和防止对 DTS 程序包的任何未授权执行,如下所示,单击 Next 继续。

    如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
  10. 最后,Completing the DTS Import/Export Wizard 对话框会显示在 DTS 向导程序中所选选项的概要。

    如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
    单击 Finish 开始数据迁移过程。
  11. Executing Package 对话框显示每项任务执行时的状态。绿色对钩表示任务成功完成。如果任务不能完成,有错误终止了进程,则会出现显示此错误的错误对话框。

    如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。

现在您可以成功地将数据从 MySQL 迁移到 SQL Server 2000。

使用数据加载


您可以使用与 MySQL Server 一起提供的客户程序 mysqldump 将 MySQL 数据库的架构和数据输出到各种格式的 .sql/.txt 文件。DTS 可以使用 mysqldump 输出文件为大型数据表提供脱机数据加载能力。以下主题解释了数据加载过程:
  • 生成 mysqldump 数据提取脚本
  • 设置脚本传输
  • 使用提取的脚本

生成 mysqldump 数据提取脚本


MySQL 有一个实用程序可以转储数据库和数据库集合进行备份,或者将数据传输到 SQL Server。
mysqldump 实用程序提供了创建数据库 SQL 脚本的能力。
mysqldump 最简短的语法是:
Shell> mysqldump [OPTIONS] database [tables]
本白皮书后面有 mysqldump 的