Navicat for MySQL与MySQL GUI Tools功能比较

前言

MySQL Migration
Toolkit是mysql官方提供的数据库移植工具,可以将任何数据源转换成mysql的数据,也可以将mysql的数据转换成其它类型的数据。需要java支持

之前搭建了一个ExtJS + spring + Oracle 的这样一个报表系统的框架。
因为其他部门的要求, 也需要这个Framework 进行一些特殊的定制。

支持的数据库迁移

  • Access-to-MySQL
  • DBF-to-MySQL
  • Excel-to-MySQL
  • MSSQL-to-MySQL
  • MySQL-to-Access
  • MySQL-to-Excel
  • MySQL-to-MSSQL
  • MySQL-to-Oracle
  • Oracle-to-MySQL

MySQL GUI工具很多,本文就常用的Navicat for MySQL与MySQL GUI
Tools的特色功能做一个详细介绍与比较。

但是有一个问题是 Oracle 的数据库是需要收费的, 个人使用倒没什么问题,
公司使用的话就会有侵权的问题了。而MySQL 则是完全免费的。

相关链接

  • 官方网站 –
  • 下载

下面是使用例子:
MySQL Migration
Toolkit是MySQL出的数据迁移工具(适用于MySQL5.0或以上),使用并不复杂,支持Oracle,Microsoft
SQL Server,Microsoft
Access,Sybase,MaxDB到MySQL之间的转换。以下实例是Oracle到MySQL的。

  1. 安装jdk1.6

MySQL Migration Toolkit需要jre1.5.0.8以上的支持。

  1. 运行MySQL Migration Toolkit

点击“开始”-“程序”-“MySQL”-“MySQL Migration Toolkit”,运行MySQL
Migration Toolkit。点击“Next”

  1. 选择“Direct Migration”,点击“Next”

4.在“Source Database”中填写你要转换的源数据库的一些参数

“Database System”为数据库系统类型;这里选Oracle

“Driver”为使用的驱动程序;

“Service”为源数据库的服务名;

“Hostname”为源数据库文件的ip和port;

“Uesrname”为源数据库的使用用户名;

“Password”为源数据库使用用户密码。

选择Oracle的Driver时,可能需要加载Oracle JDBC驱动(ojdbc14.jar)。

 

 

其它数据库可能需要手工写JDBC URL,根据需要自己写吧。

5.在“Target Database”中填写你转换后的数据库类型的一些参数

“Database System”数据库系统是MySQL Server;

“Hostname”为主机名称,“Port”为端口;

“Username”为数据库使用者名称;

“Password”为数据库使用用户密码。

 

这里需要手工写JDBC
URL链接:点击最下面的Advanced键,出现一个方框,提示输入 “Connection
String:”
jdbc:mysql://IP:PORT/?user=USER&password=PASSWD&useServerPrepStmts=false&characterEncoding=gbk

 

IP、PORT、USER、PASSWD根据MySQL服务器的ip,数据库用户名,密码填写。

 

 

6.两个数据库的参数都填写完成后,下一步就是服务器的连接
出现“Execution completed
successfully”就说明服务器连接成功,之后点击“Next”。

7.选择要迁移的数据库
选择我们需要迁移的Oracle Schema。

8.Reverse Engineering,显示“Execution completed
successfully”则说明数据转换成功
9.Object Type Selection
选中“Objects of type Oracle Table”和 “Objects of type Oracle
View”,如需迁移其它对象类型,在相应选项前勾中。
通过“Detailed selection”选择不需要迁移的对象。
10.Object Mapping
修改“Migration of type Oracle Schema”和“Migration of type Oracle
Table”
“Migration method”选择“Generic”;点击“Set Parameter”,选择”User
defined”,设置”charset=gbk,collation=gbk_ci”;
11.Migration,显示出“Execution completed successfully”则该步成功
12.Migrated Objects
这里列出了有问题的映射对象及其创建脚本,主要是一些视图或存储过程,这个工具无法确认语法是否正确,另一个选择就是只迁移表了;
13.Object Creation Options
这里可以选择直接在MySQL上创建对象还是保存为脚本后用脚本创建对象。
如保存脚本在“Create Script File for Create
Statements”中填写导出文件的存放位置和名称,这里生成的是数据库表结构。
14.Creating Objects显示“Execution completed
successfully”则表示对象创建成功;
15.Creation Results显示“No creation problem found”表示上面没有问题
16.选择实际数据的传输方式
可以在线传输数据,当源和目标数据库和迁移工具不在同一台机器上时,会在网络产生较大的数据流量,请注意。
17.最后就是数据传输了,传完后会有一个Summary,显示迁移过程是否有问题;

文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/7\_databases/mysql/Mysqljs/20100713/434231.htmlhttp/)

一、MySQL GUI Tools

所以使用 ExtJS + Spring + MySQL 这样的组合应该就没什么问题了。

MySQL官方提供的一个可视化界面的MySQL数据库管理控制台,提供了四个图形化应用程序,这些图形化管理工具可以大大提高数据库管理、备份、迁移和查询效率。它们分别是:

理论上来说, MySQL 已经被Oracle 收购, 这两者之间的Migrate
应该比较容易, 但实际的迁移还是有一些问题,
以下就说一说一些实现的方式和问题。

◆ MySQL Migration Toolkit

方式一: 手动方式导入导出

◆ MySQL Administrator

手动的方式导入, 就是操作步骤会比较繁琐一些。

◆ MySQL Query Browser

对Table 的结构和数据:

◆ MySQL Workbench

  1. 使用 SQL Developer 把 oracle 的 table 的schema 和 Data 导出

  2. 使用 MySQL 的 WorkBench 创建 Table 和导入数据。

1.MySQL Query Browser

这里语法上会稍微有一些不同, 所以需要略微做一些调整。

MySQL查询浏览器是为MySQL数据库服务器创造,执行和优化SQL查询的最简单的可视化工具。MySQL
Query Browser主要特色功能:

对于View 来说, 特别是复杂的有子查询的Oracle View 说, 要导入到MySQL
看起来就不是那么容易了。


查询工具栏导航按钮,让您浏览查询历史,可以回顾及重新执行以前的查询。可以保存查询,打开查询文件
*.qbquery。

方式二: 使用工具Navicat 进行导入

◆ 使用结果窗口轻松管理多个查询

比较多个查询通过查看制表符分隔,或是纵向或是横向联合的显示在结果窗口。此外,解释按钮,可以用来获得解释,输出为当前查询。比较按钮允许您快速比较两个查询的结果,让您确定在何处行已插入,更新或删除。

Navicat , 这是MySQL 官方网站上有人建议使用的工具。 这是一个收费的软件。
目前的收费是 1000 到1600 人民币。 但是可以免费试用一个月。

◆ 脚本编辑与调试

下载安装后, 启动的页面如下:

脚本区域的特点是编号和语法突出。另外,脚本调试按钮,使您可以设置断点和控制执行该语句和脚本。

迁移的流程如下:

◆ 内置帮助
即时帮助你获得搜选的对象,参数,和职能,可以查看mysql
syntax语句句法,函数,参数。

  1. 新建数据库的连接

2.MySQL Administrator

建立需要迁移的Oracle 和 MySQL 的数据库连接。

Mysql
Administrator让使用者更容易管理和监测你的MySQL环境,并对数据库取得更好的能见度。