介绍
将MySQL(源)数据库迁移到SQL Anywhere(目标)数据库涉及几个阶段。本文演示了将模式和数据从MySQL示例数据库“sakila”转换到SQL Anywhere数据库的过程。
要迁移数据库模式和数据,可以使用迁移数据库向导'包含在SQL Anywhere中。但是,请记住,在使用向导时需要耐心,因为它使迁移成为一个乏味且耗时的过程。此外,向导不支持迁移视图、存储过程、触发器和用户定义函数。您需要通过修改T-SQL代码来手动迁移这些数据库对象。此外,您需要在系统上安装Migrate Database Wizard,并建立到源(MySQL)数据库的连接,以执行迁移。
为了简化迁移过程,可以使用专门的数据库转换器将数据库表及其记录从MySQL轻松快速地转换为SQL Anywhere。
MySQL和SQL的区别是什么?
在继续迁移之前,让我们基于一些重要特性比较一下MySQL和SQL Anywhere数据库。
注意:对MySQL和SQL Anywhere的比较不感兴趣?直接跳到下一个部分。
| 特性 | MySQL | SQL在任何地方 |
|---|---|---|
| 概述 | MySQL是Oracle拥有的一个开源关系数据库管理系统(RDBMS)。 | SQL Anywhere(主要称为Sybase SQL Anywhere)是SAP专有的关系数据库管理系统(RDBMS)。 |
| 使用 | 该应用程序用于数据仓库、电子商务和其他应用程序。 | 该应用程序用于物联网和数据密集型应用。 |
| 安装和设置 | 安装和设置MySQL数据库需要花费一些时间。 | 安装、设置和管理SQL Anywhere数据库所需的工作量更少。 |
| MSupport | 自从Oracle接管了MySQL的开发以来,该公司一直没有发布错误纠正和检测的代码。 | SAP的支持团队以提供良好的支持而闻名。 |
| 部署 | 与SQL Anywhere相比,在数据部署方面是否需要更多的时间 | 执行(小型和大型)查询所需的时间更少,从而确保更快地部署数据。 |
| 接口 | 友好的用户界面 | 不是很友好。 |
你需要知道的事情
在开始迁移过程之前,您需要了解以下几个概念:
综合(后端)数据库
后端数据库(在本例中为MySQL)保存需要迁移到SQL Anywhere数据库的系统表和过程。
Sybase中央
它是一个简单易用的数据库管理工具,可以帮助处理Windows系统上的数据库对象。它允许您创建SQL Anywhere数据库对象,包括表、视图、索引等。
数据类型
有一些MySQL数据类型与SQL Anywhere数据类型不完全匹配。例如,SQL Anywhere不支持MySQL YEAR数据类型。因此,YEAR数据类型需要映射到INTEGER。
下表列出了一些需要映射到SQL Anywhere的主要MySQL数据类型:
注意:有关需要在SQL Anywhere中映射的数据类型的详细列表,请参阅此链接。
| MySQL | SQL在任何地方 | 映射的笔记 |
|---|---|---|
| 文本(n < = 32767) | VARCHAR (n)。 | - |
| 文本(n > 32767) | 文本 | - |
| 非常小的整数无符号 | 非常小的整数 | TINYINT在SQL Anywhere中是无符号的。 |
| 保龄球 | 位 | |
| 量变 | 文本 | - |
| 整数 | 整数 | - |
| 时间 | 时间 | MySQL中的TIME数据类型不支持小数秒。MySQL TIME数据类型的范围从'-838:59:59'到'838:59:59'。在SQL Anywhere中,TIME数据类型的范围是'00:00:00.000000'到'23:59:59:999999'。 |
| 年[(2 | 4)] | 整数 | SQL Anywhere不支持MySQL的YEAR数据类型,需要映射为INTEGER。INTEGER取值范围为1000 ~ 9999。 |
| 小数 | 小数 | - |
开始
确保您的系统满足这些先决条件:
•MySQL数据库必须安装在您的机器上
•安装SQL Anywhere数据库的系统必须安装MySQL ODBC驱动3.51及以上版本。
•ODBC数据源管理员
•SQL Anywhere 16
•Sakila样本数据库版本0.8
从MySQL迁移到SQL Anywhere
迁移包括以下阶段:
阶段1 -创建一个新的SQL Anywhere数据库
您将需要创建一个新的SQL Anywhere数据库,希望将源数据库迁移到该数据库。下面的步骤解释了使用Sybase Central创建新数据库的过程:
步骤1:发射Sybase中央(开始>程序> SQL Anywhere 16 >管理工具> Sybase Central)。如果提示对话框和/或欢迎对话框出现,关闭它们。
步骤2:从工具菜单,扩大SQL Anywhere 16,右键单击SQL Anywhere数据库,然后单击创建数据库。
步骤3:在创建数据库向导,选择“”在这台计算机上创建数据库,然后单击“下一步”。
步骤4:用名称保存数据库文件sakila.db。
注意:一旦创建了新数据库,就可以更改数据库的默认设置(如页面大小、加密等)。
步骤5:点击完成完成数据库创建过程。
创建数据库后,关闭创建数据库向导。
阶段2 -为MySQL数据库创建ODBC数据源
要继续迁移,您需要设置到源数据库的ODBC连接。要做到这一点,请遵循以下步骤:
步骤1:打开Sybase Central,单击工具> SQL Anywhere 16 >管理工具> ODBC数据源管理器。
步骤2:在弹出的窗口中单击添加.
步骤3:从驱动程序列表中选择MySQL ODBC 3.51驱动程序然后点击完成.
注意:下载并安装MySQL ODBC驱动程序(如果您还没有下载驱动程序)。
步骤4:打开MySQL连接器/ODBC数据源配置窗口。中填写所需的详细信息连接参数节以连接到数据库。
步骤5:点击好吧退出“MySQL Connector/ODBC”窗口。再次,点击好吧退出ODBC管理员。
阶段3 -将模式和数据从MySQL迁移到SQL Anywhere
一旦SQL Anywhere Server数据库开始运行,并且可以通过ODBC与MySQL数据库通信,下一步需要将源数据库模式和数据移动到目标(SQL Anywhere)数据库。
SQL Anywhere有一个内置的迁移数据库向导可用于将MySQL数据库模式及其数据迁移到新创建的SQL Anywhere数据库。这个向导帮助创建表、索引和其他数据库对象,以便将源数据库(MySQL)模式与目标数据库模式相匹配。然后将所有表数据从源数据库复制到目标数据库。
注意:除了“迁移数据库向导”之外,您还可以使用sa_migrate系统过程将所有表从MySQL数据库迁移到SQL Anywhere数据库。
使用“迁移数据库向导”的步骤如下:
步骤1:在Sybase Central中,单击工具> SQL Anywhere 16 >迁移数据库.这将启动迁移数据库向导。
步骤2:在向导中,选择sakila’数据库,然后单击下一个.
步骤3:输入的sakila’作为要从中迁移的远程数据库的名称,然后单击立即创建远程服务器。
注意:MySQL 'sakila' database包含需要迁移到目标数据库的所有数据库对象。
步骤4:出现提示时,输入'SakilaMySQLRemoteServer’作为远程服务器名称,单击下一个.
步骤5:在选择服务器类型界面,选择。MySQL从远程服务器类型列表中,按下一个按钮。
步骤6:在提供连接详细信息屏幕上,选择开放数据库连接(ODBC);并在连接信息文本框中输入MySQL数据库的ODBC数据源的名称(即之前创建的MySQL ODBC源数据)。点击下一个.
第七步:避免将服务器设置为只读,然后单击下一个.
步骤8:将SQL Anywhere数据库连接为DBA.由于远程服务器(MySQL)不知道这个用户,您应该创建一个外部登录,将SQL Anywhere DBA映射到MySQL用户。接下来,检查'为当前用户创建外部登录’复选框,并输入正确的凭据,登录MySQL数据库服务器。点击下一个.
步骤9:摘要页面将显示目标数据库为创建远程服务器(MySQL)而执行的SQL语句。点击完成用于创建远程服务器。
第十步:您将回到迁移数据库向导。在向导中,选择新创建的SakilaMySQLRemoteServer,然后点击下一个.
步骤11:在“选择表”屏幕中,从“sakila要移动的左侧列表框中的'数据库'。选中表后,单击Add All,然后下一个.
步骤12:您可以将表添加到用户'DBA”;但是,让我们创建一个可以访问的新用户Sakila数据库对象。为此,单击Cre现在就吃新用户.
步骤13:出现“创建用户向导”窗口。类型的sakila’作为新用户名,然后单击“下一步”。
步骤14:为新创建的用户分配密码,单击下一个.
步骤十五:将出现一个窗口,要求更改新用户的默认设置。您可以跳过此步骤,单击完成.
步骤16:将出现“迁移数据库向导”窗口。选择新创建的用户'sakila’,然后点击下一个.
步骤17:在“指定迁移选项”屏幕中,保留选中的所有选项,然后单击下一个.
步骤18:Summary屏幕显示将由Migrate Database Wizard执行的SQL语句,用于迁移数据库模式和数据。
步骤19:单击Finish启动迁移过程。
迁移数据库向导将从MySQL数据库中迁移模式和数据。Sakila数据库到SQL的任何地方Sakila的数据库。
迁移的下一个阶段需要验证迁移的数据库模式和数据。检查完数据后,可以继续将视图、存储过程和其他MySQL数据库对象迁移到SQL Anywhere数据库。
迁移数据库向导的限制
SQL Anywhere迁移向导具有如下所列的某些限制:
•将模式和数据从MySQL数据库转换到SQL Anywhere数据库是一个漫长而耗时的过程。
•需要技术专长。
•计算机上需要同时安装源数据库和目标数据库。
•仅将源数据库文件移动到活动数据库。
如何克服这些限制?
恒星数据库转换器可以帮助您克服迁移数据库向导相关的限制。方法如下:
•通过几个简单的步骤将数据从MySQL转换为SQL Anywhere数据库。
•软件用户界面(UI)可以轻松操作,无需技术支持。
•只需要安装目标数据库服务器。
•允许保存转换的文件,以生活或离线数据库。
使用软件进行转换的步骤如下:
•SQL Anywhere(目标)数据库必须安装在您的机器上。
•应该在SQL Anywhere应用程序中创建一个新的数据库文件。
•存储数据库的驱动器必须具有与所选数据库大小相等的可用空间。
步骤1:下载、安装和启动恒星数据库转换器软件
步骤2:在选择数据库对话框中,选择MySQL作为源数据库类型。
步骤3:要选择要转换的数据库文件,请单击“数据库路径”下的“浏览”,然后单击“扫描”。
注意:如果您找不到数据库文件,请单击“搜索”以在系统硬盘驱动器或文件夹中找到数据库文件。
步骤4:当“扫描完成的对话框,单击好吧.显示可转换为SQL Anywhere的MySQL数据库对象预览。
注意:预览过程所花费的时间取决于表中记录的数量。您可以通过单击“文件”菜单上的“停止”跳过该过程。
步骤5:要继续转换,请单击转换在文件菜单。
步骤6:在转换和保存数据库对话框中,执行以下操作:
1.选择SQL Anywhere下选择数据库类型.
3.步骤9下一步,从下拉列表中选择以下Actions之一:
•要将转换后的文件保存到离线数据库,请选择“连接到脱机空数据库”。
•要将文件保存到实时数据库,请选择“连接到正在运行的数据库',并指定服务器名称。
4.点击保存.
选择的MySQL数据库文件将被转换为SQL Anywhere数据库文件格式。
注意:恒星数欧宝娱乐app下载地址据库转换器软件只转换表和表数据。然而,软件试图执行数据库对象(如视图、过程、触发器、索引、约束、函数等)查询。如果查询执行失败,软件会在源路径中生成失败查询的“。txt”文件。
结论
本文演示了将MySQL(源)数据库迁移到SQL Anywhere(目标)数据库的主要阶段。最重要的是,它介绍了如何使用“Migrate Database Wizard”将数据从源数据库平滑地转移到目标数据库。但是,迁移向导有一些缺点。将MySQL数据库模式和数据转换为SQL Anywhere的步骤很复杂,需要专业技术知识。如果您是初学者,正在寻找一种快速执行MySQL到SQL Anywhere转换的方法,请使用恒星数据库转换器软件
常见问题解答
问.使用迁移数据库向导可以迁移什么?
回答.向导帮助将表及其记录从MySQL数据库迁移到SQL Anywhere数据库。
问.如何将数据库对象(如存储过程、触发器、函数、视图等)从MySQL迁移到SQL Anywhere?
回答.要将视图、触发器和其他数据库对象从MySQL数据库迁移到SQL Anywhere,您需要在T-SQL代码中进行修改。
问.恒星转换器的数据库软件需要互联网连接的转换过程?
回答.不,该软件不需要互联网连接来执行转换。










