在项目开发中,有时由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Server的数据迁移到MySQL。下面是小编日常整理的一种sqlserver数据库迁移的方法。
一、SQL Server中常用数据类型与MySQL不同的地方
二、将SQL Server数据迁移到MySQL需要注意的一些问题
1、唯一索引的不同,sql server的唯一索引的字段只能允许存在一个null值,而mysql,一直oracle中唯一索引对应的字段都允许存在多个null值。
2、存储过程的语法存在很大的不同,存储过程的迁移是最麻烦的,需要仔细修改。
3、程序中部分写的SQL语句由于语法的不同也要相应的修改。
三、将SQL Server数据迁移到MySQL的常见方法
1、使用 SQLyog 迁移
优点
该迁移方法很简单,灵活,迁移时,可以进行字段的修改,比如在sql server中原来是datetime,然后迁移到mysql时你可以配置成timestamp;成功率很高;
缺点
迁移很慢!这是该方法最大的缺点,如果表的数据量达到几十万行,甚至几百万行,你会发现迁移起来真的很慢。明显比其他迁移方法慢很多。
2、使用 powerdesigner 和 sql server 的脚本导出功能 来迁移
(1)、该方法首先使用 powerdesigner,对sql
server数据库,进行逆向工程,得到E-R图,然后生成MySQL的建表语句。完成数据库结构的迁移;当然表结构的迁移,不使用
powerdesigner一样也是可以的。比如我将表结构导出成语句,然后手动进行修改,然后在MySQL中运行,也是一样的;
(2)、然后使用 sql server的工具 SSMS,将sql server数据库中的表的数据,导出成insert语句,每个表对应导出一个文件,然后对文件进行一些处理,然后导入到MySQL数据库中。
3、使用Oracle MySQL Server 官方的 workbeach 工具进行迁移
(1)、在workbench 连接sql server时,用户需要有 view any database 的权限。不然workbench无法访问sql server的表结构的元数据,从而无法进行迁移。
(2)、还有使用 Navicat 来进行迁移的方法,方法和 SQLyog 是类似的。
步骤如下:
1登录sqlyog,并选中要 *** 作的数据库,效果如下所示:
2点击Tools---->Backup Database As SqlDump效果如下:
3选择:1导出项目选项(数据库表,或者视图,时事件,触发器,函数等);2导出的sql类型:Stuctture only (仅结构) , Data only(仅数据) ,Stuctture and Data (结构和数据);3导出文件存放位置和名称。效果如下图所示:
4选择好要导出的属性后,点选择存放位置按钮,效果如下图所示:
5选好位置,填好导出文件名称后,效果如下:
6点击保存后,进入导出界面,进行导出。效果如下图所示:
7执行成功后,效果如下图所示。
二、下面演示数据库导入 *** 作:
1首先创建数据库:create database newdbs;
2切换到当前数据库:use newdbs;
效果如下图所示:
3点击:tools--->Excute sql script效果如下图所示:
4选择要导入的数据库脚本文件,执行导入 *** 作效果如下图所示:
5导入完成,效果如下图所示:
打开SQLyog工具
如果没有连接数据库,那么新建一个连接,把连接名字(New Connection),连接地址IP(MySQL Host Address),用户名字(Username),用户密码(Password),端口号填好(Port),然后点连接(Connect)。
导出SQL的第一种方式
点击数据库,右键菜单选择Backup/Export->Backup Database As SQL Dump
导出SQL的第二种方式
在上面那里 *** 作栏里有一个带有向下箭头的图标,把鼠标移上去会出现Backup Database As SQL Dump,这就是导出,点击就行了。
导出SQL的第三种方式
在最上面那一栏菜单栏里,有一个Tools,选择Tools->Backup Database As SQL Dump,这就是导出,点击。
点击导出
上面三种方式点击导出,会出来一个界面,界面的一些参数,我简单说一下,你可以选择导出什么库,库里的哪些表、视图等等,只是导出表结构还是只是数据还是数据和表结构等等,具体可以看下图。
选择路径及导出的数据库名称
我们选择导出路径的话找起来会方便许多,命名也规范一些,以后你就知道这个是什么时候备份的数据库,一般都是数据库名+日期命名的。
以上就是关于如何把sqlserver数据迁移到mysql数据库及需要注意事项全部的内容,包括:如何把sqlserver数据迁移到mysql数据库及需要注意事项、SQLyog怎么导出数据库以及导出表、sqlyog怎么导出sql文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)