MSSQL2008、2005数据库导入或从导出mysql和相互转换
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和相互转换相关推荐
- 2005数据库导入mysql没有主键_MSSQL2005数据库导入导出+带主键、自动增量、关系图、表架构等...
MSSQL2005数据库导入导出+带主键.自动增量.关系图.表架构等 关键词:mssql2005.导入导出 1.在本地安装Mssql Server 2005 2.接着安装SQLServer2005_X ...
- mysql数据库 导入excel_如何在MySQL数据库中导入excel文件内的数据 详细始末
在开发项目的时候通常需要使用数据库,数据库Database是用来存储和管理数据的仓库.下面,我们以MySQL数据库为例来看看如何在数据库中导入excel文件内的数据吧. 操作方法 01 MySQL 打 ...
- 2005数据库导入mysql没有主键_mysql数据库详解(续二)
mysql数据库登陆问题解决汇总 首先需要说明一下,MYSQL数据库登陆的方式,通常就是本地登陆(localhost)和远程登陆,那么这里在深入地了解一部localhost和127.0.0.1的区别是 ...
- shell脚本批量导出MYSQL数据库日志/按照最近N天的形式导出二进制日志[连载之构建百万访问量电子商务网站]...
shell脚本批量导出MYSQL数据库日志/自动本地导出MYSQL二进制日志,按天备份[连载之构建百万访问量电子商务网站] 出处:http://jimmyli.blog.51cto.com/我站在巨人 ...
- mysql 导出中间 数据_MYSQL数据库之间的数据导出与导入
源数据库地址: 172.16.1.7 目标数据库地址: 172.16.1.51 步骤: (1) 进入172.16.1.7服务器,登录mysql数据库 mysqldump -uusername -ppa ...
- mysql数据库导出_MySQL数据库导入导出详解[转发]
1. 概述 MySQL数据库的导入,有两种方法: 1) 先导出数据库SQL脚本,再导入: 2) 直接拷贝数据库目录和文件. 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况 ...
- mysql数据库导出最大值_4.6 MySQL数据库导入与导出攻略
4.6 MySQL数据库导入与导出攻略 4.6.1 Linux下MySQL数据库导入与导出 1. MySQL数据库的导出命令参数 主要是通过两个mysql和mysqldump命令来执行 (1) MyS ...
- 远程linux服务器mysql数据库导入和导出.sql文件
大部分情况本地开发环境为windows,部署的服务器为Linux,本地数据库导出.sql文件后需要远程导入服务器,具体如下. 首先连接服务器,即服务器ip,协议,端口,用户名及密码,可以通过ftp客户 ...
- mysqldump导入导出mysql数据库
mysqldump导入导出mysql数据库 mysqldump导入导出mysql数据库 2011-02-21 16:33 数据库的基本导入\导出的命令 是 mysqldump 和 source 在li ...
最新文章
- codeforces E. Games on a CD(双hash)
- 第十三章:位图(五)
- Linux 下实现普通用户只能写入某个目录
- Android之用AccessibilityService实现红包插件
- 开发SPI时不要犯这个错误
- Hbase单点安装Version1.1.5
- Linux日常使用的一些积累
- VB 域名转换IP地址函数
- python数据集_在Python中如何差分时间序列数据集
- (一)UDPSocket 服务端编写(超详细)
- HTML小游戏7 —— 《罗斯魔影》魔法消除游戏(附完整源码)
- 小程序微信JSAPI支付进行退款操作
- 使用 customize-cra 修改 webpack 配置
- 借助YunOS ,开发技术、运营能力大幅提升
- 机房布线的最高境界 | 最后的暗黑系,真是亮瞎眼
- iOS证书(p12)获取解密公私钥
- 牛客竞赛:第三届超越杯程序设计团体赛题解
- 编辑中的word变成只读_word只读模式怎么取消,word只读模式怎么改
- hexo+yilia添加隐藏左边栏目按钮
- WGCNA那么多图,都啥意思? 官网