文件转换

如何迁移MySQL数据库到SQL的任何地方

简介:本指南解释了如何使用SQL Anywhere“迁移数据库向导”手动迁移MySQL数据库到SQL Anywhere的分步说明。它还讨论了与Migrate Database Wizard相关的限制,以及如何通过使用专门的数据库转换工具(如Stellar converter for Database)来克服它。

Windows版免费下载

简介

将MySQL(源)数据库迁移到SQL Anywhere(目标)数据库涉及几个阶段。本文演示了将模式和数据从MySQL示例数据库“sakila”转换到SQL Anywhere数据库的过程。

若要迁移数据库模式和数据,可以使用迁移数据库向导包含在SQL Anywhere中。但是,请记住,在使用Wizard时需要耐心,因为它会使迁移成为一个乏味且耗时的过程。此外,向导不支持迁移视图、存储过程、触发器和用户定义函数。您需要通过修改T-SQL代码来手动迁移这些数据库对象。此外,您还需要在系统上安装Migrate Database Wizard,并建立到源(MySQL)数据库的连接以执行迁移。

为了使迁移过程更容易,可以使用专门的数据库转换器轻松快速地将数据库表及其记录从MySQL转换为SQL Anywhere。

MySQL和SQL Anywhere的区别是什么?

在继续迁移之前,让我们基于一些重要特性比较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。取值范围为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 16数据库,单击创建数据库。

步骤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'数据库包含所有需要迁移到目标数据库的数据库对象。

步骤4:当出现提示时,输入'SakilaMySQLRemoteServer'作为远程服务器名称,然后单击下一个

步骤5:选择“Server Type”界面,选择'MySQL从远程服务器类型列表,然后按下一个按钮。

步骤6:提供连接详细信息屏幕上,选择开放数据库连接(ODBC),并在连接信息文本框中输入MySQL数据库的ODBC数据源名称(即前面创建的MySQL ODBC源数据)。点击下一个

第七步:避免使服务器为只读,然后单击下一个

步骤8:连接到SQL Anywhere数据库为DBA.由于远程服务器(MySQL)不知道这个用户,您应该创建一个外部登录,将SQL Anywhere DBA映射到MySQL用户。接下来,检查'为当前用户创建外部登录'复选框,并输入正确的凭据以登录MySQL数据库服务器。点击下一个

步骤9:摘要页面将显示目标数据库将执行的SQL语句,以创建远程服务器(MySQL)。点击完成用于创建远程服务器。

第十步:您将回到迁移数据库向导。在向导中,选择新创建的SakilaMySQLRemoteServer然后点击下一个

步骤11:在“Select Tables”屏幕中,从“Select Tables”中选择所有或特定的表。sakila'数据库在左侧列表框中您要移动。选中表之后,单击Add All,然后下一个

步骤12:您可以将表添加到用户的DBA”;但是,让我们创建一个可以访问Sakila数据库对象。为此,单击Create新用户

步骤13:弹出“创建用户向导”窗口。类型的sakila作为新用户名,然后单击Next。

步骤14:为新创建的用户分配密码,单击下一个

步骤十五:将出现一个窗口,要求更改新用户的默认设置。您可以跳过该步骤,单击完成

步骤16:将出现“迁移数据库向导”窗口。选择新创建的用户sakila(如下面的截图所示),然后点击下一个

步骤17:在指定迁移选项屏幕中,选中所有选项,然后单击下一个

步骤18:将出现Summary屏幕,其中显示将由Migrate Database Wizard执行的用于迁移数据库模式和数据的SQL语句。

步骤19:单击Finish启动迁移过程。

迁移数据库向导将把模式和数据从MySQL的Sakila数据库到SQL AnywhereSakila的数据库。

迁移的下一个阶段需要验证迁移的数据库模式和数据。一旦检查了数据,就可以继续将视图、存储过程和其他MySQL数据库对象迁移到SQL Anywhere数据库。

迁移数据库向导的限制

SQL Anywhere迁移向导有如下限制:

•从MySQL数据库到SQL Anywhere数据库的模式和数据转换是一个漫长而耗时的过程。

•需要专业技术知识。

•源数据库和目标数据库都需要安装在计算机上。

•仅将源数据库文件移动到活动数据库。

如何克服这些限制?

Stellar数据库转换器可以帮助您克服与迁移数据库向导相关的限制。方法如下:

•通过使用几个简单的步骤将数据从MySQL转换为SQL Anywhere数据库。

•软件用户界面(UI)可以轻松操作,无需技术支持。

•只需要安装目标数据库服务器。

•允许将转换后的文件保存到实时或脱机数据库。

使用软件进行转换的步骤如下:

注意:在开始转换过程之前,请确保您的系统满足以下先决条件:

SQL Anywhere(目标)数据库必须安装在您的机器上。

应该在SQL Anywhere应用程序中创建一个新的数据库文件。

存储数据库的驱动器必须有与所选数据库大小相等的空闲空间。

步骤1:下载、安装和启动用于数据库的恒星转换器软件

步骤2:选择数据库对话框,选择MySQL作为源数据库类型。

步骤3:要选择要转换的数据库文件,请单击“数据库路径”下的“浏览”,然后单击“扫描”。

注意:如果找不到数据库文件,请单击“搜索”来定位系统硬盘驱动器或文件夹中的数据库文件。

步骤4:当“扫描完成的对话框,单击好吧.显示可以转换为SQL Anywhere的MySQL数据库对象预览。

注意:预览过程所花费的时间取决于表中记录的数量。您可以通过单击“停止文件”菜单跳过该过程。

步骤5:单击,继续进行转换转换文件菜单。

步骤6:在Convert和保存数据库对话框,执行以下操作:

1.选择SQL Anywhere选择数据库类型

3.步骤9:接下来,从下拉列表中选择以下操作之一:

•要将转换后的文件保存到离线数据库,请选择'连接到脱机空数据库”。

•要将文件保存到活动数据库,请选择'连接到正在运行的数据库',并指定服务器名。

4.点击保存

所选择的MySQL数据库文件将转换为SQL Anywhere数据库文件格式。

注:恒星数据欧宝娱乐app下载地址库转换器软件只转换表和表数据。然而,该软件尝试执行数据库对象(如视图、过程、触发器、索引、约束、函数等)查询。如果查询执行失败,软件将在源路径生成一个失败查询的“.txt”文件。

结论

本文演示了将MySQL(源)数据库迁移到SQL Anywhere(目标)数据库的主要阶段。最重要的是,它涵盖了如何使用“迁移数据库向导”平稳过渡数据从源数据库到目标数据库。但是,迁移向导也有一些缺点。将MySQL数据库模式和数据转换为SQL Anywhere的步骤非常复杂,需要专门的技术知识。如果你是一个初学者,并寻找一个快速的方法来执行MySQL到SQL Anywhere转换,使用用于数据库的恒星转换器软件

常见问题解答

.使用迁移数据库向导可以迁移什么?

回答.向导帮助迁移表及其记录从MySQL数据库到SQL Anywhere数据库。

.我如何迁移数据库对象,如存储过程,触发器,函数,视图等从MySQL到SQL Anywhere?

回答.要将视图、触发器和其他数据库对象从MySQL数据库迁移到SQL Anywhere,您需要在T-SQL代码中进行修改。

.恒星转换器的数据库软件需要互联网连接的转换过程?

回答.不需要,该软件不需要互联网连接来执行转换。

进步
76% 的人认为这篇文章有帮助