SQL Server可以从低版本备份还原到高版本,但从高版本会出问题要用专门的工具,备份时要删除默认的位置否则选位置时会有两个备份位置,
用sql脚本在SQL Server和mysql相互导数据会出错最后只有空表,请使用下面的专门工具可以成功导出和导入数据

SQL Server 迁移数据到MySQL

一、背景

由于项目开始时候使用的数据库是SQL Server2008,后来把存储的数据库调整为MySQL,所以需要把SQL Server的数据转移到MySQL;由于涉及的表比较多,所以想在MySQL中生成对应表并导入数据;

上网找了些资料,如:将ACCESS和MSSQL导入MYSQL中、MySQL Migration 实现 MSSQL 到 MySQL数据迁移,虽然不知道里面的做法是否可以成功转移,但是里面的过程比较复杂,没有去尝试,后来自己找到了方法,最重要就是简单和准确(暂时没发现明显的BUG),这里分享给大家。

二、转移数据

我使用了MySQL的Client的工具SQLyog,这个工具的安装很简单。(软件在同一目录)
安装方法:程序安装后先不要运行SQLyog,输入注册信息
姓 名(Name):cr173
序 列 号(Code):8d8120df-a5c3-4989-8f47-5afc79c56e7c

安装完成之后点击需要导入的目标数据库,数据库菜单->【Import】->【Import Extenal Data】;

(Figure1:Import)

选择【Start a new job】,点击【下一步】;

(Figure2:Start a new job)

下面就是DSN的设置界面,需要通过【Create a New DSN】来创建一个新的DSN连接到SQL Sever;

(Figure3:Create a New DSN)
选文件数据源

(Figure4:创建新数据源)
选SQL Server

(Figure5:选择数据源类型)

把上面的设置保存为一个local.dsn文件;

(Figure6:选择数据源保存路径)

(Figure7:选择SQL Server服务器)
不能选Local要下接选择服务器的域名加数据库实例名

(Figure8:设置SQL Server帐号和密码)
选择使用网络登录ID的windowsNT验证,密码和用户会自动选择不用输

(Figure9:选择SQL Server数据库)
选择要导出的数据库

(Figure10:测试数据源)

(Figure11:测试成功)

选中【File DSN】,在浏览中选择我们刚刚创建好的DSN,用户名和密码不用填,如果是SQL登录则要填写登录到SQL Server的帐号和密码;

(Figure12:选择DSN)

下一步,选择目标MySQL服务器,填写IP地址和帐号密码,并且需要选择目标数据库;

(Figure13:设置MySQL帐号和密码目标数据库)

这一步类似SQL Server的导入导出功能,这里可以拷贝一个表或者使用SQL脚本过滤数据;

(Figure14:表拷贝)

上面的全部过程就是为创建SQL Server与MySQL的一个管道,接下来就是最为重要的设置SQL Server表与MySQL表之间的对应关系了;
这里选择要复制的表,不要全选那样会包含所有数据库实例的表,可以直接开始导入了,下面可以不看。里面包括了SQL Server表字段与MySQL表字段之间的对应关系【Map】,高级选项【Advanced】,过滤【WHERE】。

(Figure15:选择表对应关系)

下图Figure16,数据源【Source】,描述【Destination】,特别注意这里数据类型【Type】,这里的意思是转换目标的数据类型,但是不需要跟目标表的一样,因为这里是做为一个临时存储的数据类型,类似FindOn在SQL Server中是datetime,这里转换为MySQL的timestamp,其实MySQL目标表的数据类型是datetime,这样的设置也是可以转换成功的。

(Figure16:表字段转换)

(Figure17:高级选项)

(Figure18:Error)

(Figure19:Log)

(Figure20:执行信息)

(Figure21:执行结果)

(Figure22:原始SQL Server的数据列表)

(Figure23:转移到MySQL的数据列表)

对比下Figure20与Figure21,发现我们数据已经全部转移成功了;

第二种将MSSQL数据导入到MYSQL操作方法 (实验最终未成功)

1、安装Mysql数据源:下载Mysql数据源(mysql-connector-odbc-5.1.11-win64.msi),并点击安装;
2、在Mysql管理器中建立数据库,如mytest,并设置与MSSQL一样字符集(如整理 字符集为 gbk_chinese_ci);
3、创建数据源:点击“控制面板”-》 “管理工具” -》“数据源”,在打开的面板中选择“用户DSN”选项卡;点击添加按钮,在弹出的窗口中选择“MySQL ODBC 5.1 Driver”,点击“完成”,在弹出的窗口中输入连 接参数:mssql要导出的数据库名称,在TCP/IP栏中输入mysql所在的IP地址(本机填写127.0.0.1), 不要管named pipe,输入相关信息:用户名,密码,和数据库名字,点击TEST测试查看连接是否成功;
如果报错MSSQL的服务器不允许连接,其实是对方mysql不允许连接,要给权限
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
4、导出数据:打开MSSQL企业管理器,选中要导出的数据库,右击选择“所有任务”-》“导出数据”,按操作提示,点击下一步,在[选择目的]步骤时,选择“MYSQL ODBC 5.1 Driver”没有就选择.net for odbc,选中用户/系统DSN(M)
要手动输入dsn和驱动的名字再点击connectingString自动会添加名字,并选择 刚才创建的数据源,按操作提示点击下一步

6.如果提示软件驱动体系不同可能是驱动32位和64位装错了,如果装了还不行再装新版本,如果报错不能安装请安装Microsoft Visual C++,再不行重启,最后不行只能换一种方式了,有可能是驱动跟不上新版本 的mysql了

MSSQL2008、2005数据库导入或从导出mysql和相互转换相关推荐

  1. 2005数据库导入mysql没有主键_MSSQL2005数据库导入导出+带主键、自动增量、关系图、表架构等...

    MSSQL2005数据库导入导出+带主键.自动增量.关系图.表架构等 关键词:mssql2005.导入导出 1.在本地安装Mssql Server 2005 2.接着安装SQLServer2005_X ...

  2. mysql数据库 导入excel_如何在MySQL数据库中导入excel文件内的数据 详细始末

    在开发项目的时候通常需要使用数据库,数据库Database是用来存储和管理数据的仓库.下面,我们以MySQL数据库为例来看看如何在数据库中导入excel文件内的数据吧. 操作方法 01 MySQL 打 ...

  3. 2005数据库导入mysql没有主键_mysql数据库详解(续二)

    mysql数据库登陆问题解决汇总 首先需要说明一下,MYSQL数据库登陆的方式,通常就是本地登陆(localhost)和远程登陆,那么这里在深入地了解一部localhost和127.0.0.1的区别是 ...

  4. shell脚本批量导出MYSQL数据库日志/按照最近N天的形式导出二进制日志[连载之构建百万访问量电子商务网站]...

    shell脚本批量导出MYSQL数据库日志/自动本地导出MYSQL二进制日志,按天备份[连载之构建百万访问量电子商务网站] 出处:http://jimmyli.blog.51cto.com/我站在巨人 ...

  5. mysql 导出中间 数据_MYSQL数据库之间的数据导出与导入

    源数据库地址: 172.16.1.7 目标数据库地址: 172.16.1.51 步骤: (1) 进入172.16.1.7服务器,登录mysql数据库 mysqldump -uusername -ppa ...

  6. mysql数据库导出_MySQL数据库导入导出详解[转发]

    1. 概述 MySQL数据库的导入,有两种方法: 1) 先导出数据库SQL脚本,再导入: 2) 直接拷贝数据库目录和文件. 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况 ...

  7. mysql数据库导出最大值_4.6 MySQL数据库导入与导出攻略

    4.6 MySQL数据库导入与导出攻略 4.6.1 Linux下MySQL数据库导入与导出 1. MySQL数据库的导出命令参数 主要是通过两个mysql和mysqldump命令来执行 (1) MyS ...

  8. 远程linux服务器mysql数据库导入和导出.sql文件

    大部分情况本地开发环境为windows,部署的服务器为Linux,本地数据库导出.sql文件后需要远程导入服务器,具体如下. 首先连接服务器,即服务器ip,协议,端口,用户名及密码,可以通过ftp客户 ...

  9. mysqldump导入导出mysql数据库

    mysqldump导入导出mysql数据库 mysqldump导入导出mysql数据库 2011-02-21 16:33 数据库的基本导入\导出的命令 是 mysqldump 和 source 在li ...

最新文章

  1. codeforces E. Games on a CD(双hash)
  2. 第十三章:位图(五)
  3. Linux 下实现普通用户只能写入某个目录
  4. Android之用AccessibilityService实现红包插件
  5. 开发SPI时不要犯这个错误
  6. Hbase单点安装Version1.1.5
  7. Linux日常使用的一些积累
  8. VB 域名转换IP地址函数
  9. python数据集_在Python中如何差分时间序列数据集
  10. (一)UDPSocket 服务端编写(超详细)
  11. HTML小游戏7 —— 《罗斯魔影》魔法消除游戏(附完整源码)
  12. 小程序微信JSAPI支付进行退款操作
  13. 使用 customize-cra 修改 webpack 配置
  14. 借助YunOS ,开发技术、运营能力大幅提升
  15. 机房布线的最高境界 | 最后的暗黑系,真是亮瞎眼
  16. iOS证书(p12)获取解密公私钥
  17. 牛客竞赛:第三届超越杯程序设计团体赛题解
  18. 编辑中的word变成只读_word只读模式怎么取消,word只读模式怎么改
  19. hexo+yilia添加隐藏左边栏目按钮
  20. WGCNA那么多图,都啥意思? 官网

热门文章

  1. 三维格式CAD转换成ShapeFile格式数据
  2. 使用rman修复坏块
  3. 全国青少年信息素养大赛图形化编程复赛·模拟四卷,含答案解析
  4. 华中科技大学计算机组成计算机数据表示实验(hust)平台_【2019更新版】西北工业大学计算机软件考研信息汇总...
  5. cFosSpeed 安装及使用教程
  6. Word如何显示修改痕迹
  7. yum源repo文件解析
  8. 外贸邮件推送平台,外贸开发信邮件推送平台,外贸EDM推送平台,如何选择?
  9. Blender烤鱼全流程案例教学
  10. 世界人口排名2023