数据库迁移大总结。。(sqlserver2000迁移到-2008-mysql5.0)
头儿给我一个.MDF和.LDF文件,是sqlserver2000的,让迁移到mysql5.0上面。
由于早期mysql和sqlserver是合作关系的,但是想着,估计很简单。由于之前接触过2008,所以,我下载安装了一个sqlserver2008 express版本(下载这点不再叙述),之后,
右键“数据库”选项,有一个“附加”,弹出如下图:
点击“添加”按钮,找到你的文件附加即可。
然后就是从我现有的sqlserver2008转向mysql5.0,采用的软件是Powerdesigner,于是下载了这个软件,下载地址:
ftp://210.51.180.252/bbs/tp05/computer/db/Sybase.PowerDesigner.15.0%5Bwww.TopSage.com%5D.zip,如果读者下载不了,可以邮件给我,我传给你。然后按照【破解包里面有pdflm15.dll,license.lic两个文件,那个dll文件必须覆盖。1,必须进行覆盖操作,就是把pdflm15.dll文件复制到安装文件夹里面,之后打开PD;
2、进入PD,打开Tools -> License Parameters..3、选择Standalone Seat - Local License4、导入license.lic便可】将Powerdesigner15做成正版。
感谢作者:【出自博客园深蓝居,转载请注明作者出处】转移过程一直在参考他的文档http://studyzy.cnblogs.com/,大部分文档如下(图片是Powerdesigner15的图片):
如何将数据库从SQL Server迁移到MySQL(Powerdesigner15界面)
一、迁移Database Schema。
首先使用Sybase Powerdesigner的逆向工程功能,逆向出SQL Server数据库的物理模型。具体操作是在Powerdesigner中选择“File”,“Reverse Engine”再选择Database,将DBMS选择为SQL Server,如图:
然后选择数据源,也就是要具体连接到的SQL Server数据库服务器,然后选择要逆向的数据库名,比如选中“WSS_Content_80”如图所示:
注意,在这个步骤之前,你需要配置odbc数据源,因为它是靠数据源进行操作的(我的博客里面有一篇关于odbc的配置的,很简单),之后,点击那个小数据库的图标
,出现你配置的odbc数据源,如我的界面:
把需要填写的id,password等信息填入,点击“connect”,连接正常的话出现:
单击确定“ok”即可生成物理模型图:
然后单击“Database”菜单下的Change Current DBMS修改当前的DBMS,改为MySQL 5.0,
单击确定后即可生成MySQL的物理模型 然后单击“Database”菜单下的“Generate Database”生成数据库脚本文件。
接下来是手工修改下生成的脚本的内容。由于我用的软件是notpad++,现用我的情况说下我的大致的变更步骤:
将其中的dbo.全部替换成空,
将create user这样的语句删除掉。
如果有些字符在MySQL中是关键字,那么必须使用“`”(键盘上数字1左边那个符合)符合框起来。
加上MySQL所需要的存储引擎比如每个建表语句后跟上:
ENGINE = INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
将生成的脚本在MySQL中去运行一次即可创建数据库。
如果datetime问题的话,CAST(0x00009EEF00000000 AS DateTime),这个需要采用notpad++的正则表达式了,(我博客中有一篇关于正则表达式的,可以看看,我默认把时间全部修改成了一个固定时间“2010-01-01”)
二、迁移数据内容
数据内容只能通过生成INSERT语句的方式来做。
首先使用SSMS的“生成脚本”功能(在数据库上右键,选择“任务”“生成脚本”选项),可以为SQL Server数据库中的数据生成插入脚本。
首先选择要迁移数据的表,这里我们全选所有的表:
然后单击下一步,选择自己的要倒出来的数据库,直接下一步,如图:
剩下的这些选项很关键,默认值如图,但是我们需要修改:
因为我们只要数据,只要insert语句,所以可以选(只要数据即可,其他的可以根据自己想法选择true或者false):
然后“确定”再下一步下一步即可生成INSERT脚本文件。
修改生成的脚本文件,主要有以下几项修改:
使用批量替换的方式去掉[ ]这是SQL Server的符合,在MySQL中不用这个。使用查找替换,分次去掉“【” 和“】”,
使用批量替换的方式去掉dbo.,
有些单词在MySQL中是关键字的,那么需要使用“`”引起来。
关于Datetime类型的数据,需要手工修改下,SQL Server默认生成的是这样的语句,在MySQL中是没办法解析的:
为每一行添加一个;表示一个插入语句结束。这个分号在SQL Server中可以不需要,但是在MySQL中是必须的。简单的方法是使用高级的文本编辑器(比如Notepad++),将\r\n替换为;\r\n即可。
还有go类似的语句,也要去掉,这些看你在sqlyog里面运行的时候出现的错误的情况,然后批量操作!!!
注意:
倒出来的.sql文件建议不要直接拉入到sqlyog里面直接操作,因为如果相互之间的字符编码格式不一致的话就会出现各种乱码或者出现字符少,少个字母,少个单引号,少个逗号等等各种奇怪的错误,建议直接采用notpad++打开之后,全选,复制,到sqlyog里面粘贴,再运行。
最后一步,对照两个表的数据,进行核查。
原文章:
如何将数据库从SQL Server迁移到MySQL
一、迁移Database Schema。
首先使用Sybase Powerdesigner的逆向工程功能,逆向出SQL Server数据库的物理模型。具体操作是在Powerdesigner中选择“File”,“Reverse Engine”再选择Database,将DBMS选择为SQL Server,如图:
然后选择数据源,也就是要具体连接到的SQL Server数据库服务器,然后选择要逆向的数据库名,比如选中“WSS_Content_80”如图所示:
单击确定即可生成物理模型图:
然后单击“Database”菜单下的Change Current DBMS修改当前的DBMS,改为MySQL 5.0,
单击确定后即可生成MySQL的物理模型 然后单击“Database”菜单下的“Generate Database”生成数据库脚本文件。
接下来是手工修改下生成的脚本的内容。
将其中的dbo.全部替换成空
将create user这样的语句删除掉。
如果有些字符在MySQL中是关键字,那么必须使用“`”(键盘上数字1左边那个符合)符合框起来。
加上MySQL所需要的存储引擎比如每个建表语句后跟上:
ENGINE = INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
将生成的脚本在MySQL中去运行一次即可创建数据库。
二、迁移数据内容
数据内容只能通过生成INSERT语句的方式来做。
首先使用SSMS的“生成脚本”功能(在数据库上右键,选择“任务”“生成脚本”选项),可以为SQL Server数据库中的数据生成插入脚本。
首先选择要迁移数据的表,这里我们全选所有的表:
然后单击下一步,选择将脚本保存到新的查询窗口:
单击“高级”选项,在高级选项窗口中选择“要编写脚本的数据的类型”为仅限数据:
然后“确定”再下一步下一步即可生成INSERT脚本文件。
修改生成的脚本文件,主要有以下几项修改:
使用批量替换的方式去掉[ ]这是SQL Server的符合,在MySQL中不用这个。
使用批量替换的方式去掉dbo.
有些单词在MySQL中是关键字的,那么需要使用“`”引起来。
关于Datetime类型的数据,需要手工修改下,SQL Server默认生成的是这样的语句,在MySQL中是没办法解析的:
CAST(0x00009EEF00000000 AS DateTime)
为每一行添加一个;表示一个插入语句结束。这个分号在SQL Server中可以不需要,但是在MySQL中是必须的。简单的方法是使用高级的文本编辑器(比如Notepad++),将\r\n替换为;\r\n即可。
数据库迁移大总结。。(sqlserver2000迁移到-2008-mysql5.0)相关推荐
- Power Designer逆向操作(从mysql5.0生成数据库的物理模型)
Power Designer逆向操作(从mysql5.0生成数据库的物理模型) 环境:powderdesigner12.5:mysql5.0 步骤: 1. 为指定的数据库配置MySQL的ODBC数据 ...
- 数据库迁移_【干货分享】DM数据库迁移方法(物理迁移)
在数据库的维护过程中,可能涉及换服务器,或者需要现网数据库环境测试的情况,这时,最简单快速的办法就是将源数据库相关的文件拷贝到目标主机,然后注册数据库实例服务.这就是数据库的物理迁移过程,可以是从wi ...
- TiDB数据库备份恢复与数据迁移
TiDB数据库备份恢复与数据迁移 数据迁移 使用 mydumper/loader 全量导入数据 mydumper/loader 全量导入数据最佳实践 某次导入示例,以及相关的配置 从 MySQL 导出 ...
- 金仓数据库 KingbaseES 异构数据库移植指南 (4. 应用迁移流程)
4. 应用迁移流程 本文档描述了一套完整的数据库系统评估与迁移方案,目的是帮助客户更明确的了解数据库系统迁移至KingbaseES的流程.方法.关键节点及注意事项,依据数据库系统迁移全过程方法论及各关 ...
- 达梦数据库——Oracle到达梦数据迁移
## 迁移思路 1.统计Oracle库中对象以及表数据量: 2.达梦数据库选择合适的初始化参数: BLANK_PAD_MODE 空格填充模式选1, CASE_SENSITIVE 大小写敏感:可以考虑开 ...
- 大数据集群迁移的那一夜是怎么过的|回忆录
背景 大数据集群迁移这件事,不知道有多少同学做过(反正我是第一次).我说的不是简单的把一个集群的数据拷贝到另一个集群上,我指的是整个数据处理平台与相关的前台业务的迁移工作,是从一个机房到另一个机房. ...
- MongoDB大中华区首席架构师唐建法:关系型数据库到MongoDB的战略迁移
MongoDB大中华区首席架构师唐建法:关系型数据库到MongoDB的战略迁移 [编者按]数据库作为最关键的基础设施,渗透技术领域的方方面面.随着互联网时代的信息高速膨胀,传统关系型数据库因其高门槛. ...
- 远程登录另一个mysql 数据库_Ubuntu中开启MySQL远程访问功能,并将另一个数据库服务器中的数据迁移到新的服务器中...
技术交流群:233513714 一.开启MyS远程访问功能 1.进入服务器输入netstat -an | grep 3306确认3306是否对外开放,MySQL默认状态下是不对外开放访问功能的.输入以 ...
- 【MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记】
MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记录-1 - likingzi - 博客园 MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记录-2 - likingzi ...
最新文章
- 深入理解Java Stream流水线,学到了!
- C语言判断数组中是否存在该数
- pycharm 格式化代码
- Java学习之Iterator(迭代器)的一般用法(转)
- GitHub上的OpenJDK
- 不解析,使用解析对象
- 选择通过更改内容类型返回的详细程度,第二部分
- MATLAB库函数radarvcd介绍
- SpringMybaits数据库配置解惑
- SQL2005到2008数据库升级
- 尝试编写一个加密程序,加密方法将明文的字母变成其后的第4个字母,**字母表首尾相连。非字母符号** 不加密。 例如输入“China“, 输出密文“Glmre“, 输入 “ab123“, 输出 “ef1
- 1.6Java-接口、抽象类
- wpa_cli的使用
- 4、Javaweb_JavaScript DOM BOM 事件
- ZCMU1860: zbj的电梯间
- Vue回炉重造之封装一个实用的人脸识别组件
- SAP SD 基础知识之行项目类别(Item Category)
- 【坑】javascript中appName总是Netscape的原因
- Photoshop启动时修改暂存盘
- The new life