SQL Server数据迁移至MySQL

背景:

我所在公司的官网使用了PHP进行重新开发,抛弃了原有.net开发环境,但需要使用到老官网的一些数据,所以需要进行数据迁移。

环境如下:

老官网:Windows Server 2008 R2, SQL Server 2008 R2

新官网:RedHat 6.5,MySQL,PHP...

====================我是分割线=========================

目前网络上有很多软件声称是可以进行SQL Server-> My SQL的数据迁移,比如OBDB2DB,但我尝试转换不成功,其他类似的小软件,我也没去测试。在这里我使用了MySQL官方提供的MySQL WorkBench,此软件功能强大,既可以设计开发数据库,也可以进行数据转移。具体链接,请大家自行去MySQL官网查找。

MySQL workbench安装过程略,具体迁移过程如下:

打开MySQL workbench->Database->Migration wizard->Start Migration.

在"Database system"选项中选择"Microsoft SQL Server",在Connection Method中选择"ODBC(native)",输入相应的服务器,用户名,密码,点击"Test Connection"即可测试是否连接成功。

在"Target Selection"页面中填入目标MySQL信息并测试连接情况,然后点击下一步。

在"Fetch Schemas list"页面中,软件会对源数据库进行数据检查以及获取相应信息。

在"Schemas Selection"选择你想要迁移的数据库,点击下一步。

在"Reverse Engineer Source"选项点击下一步即可。

在"Source Objects"中选择你想迁移源数据的类型,默认会勾选"Migrate Table objects",默认即可,点击下一步。

在"Migration"中选择下一步。

在"Manual editing"查看迁移可能存在的错误,警告。一般有错误几乎是无法迁移成功,有警告还是有可能的。

在"Target Creation Option"选项中选择"Create Schema in target RDBMS",是否需要创建"SQL Script"看自己的需求喽。默认是不会选中。

在"Create Schemas"页面中,软件会在目标MySQL中自动创建相应的Schemas以及Objects。

"Create Target Results"中可以查看到创建的结果,右侧会显示成功状态。

"Data Transfer Setup"页面中,软件会拷贝源数据到目标数据库,有三个选项可以选择,如果网络允许,直接选择"Online copy of table data to target RDBMS",即在线迁移。

"Bulk Data Transfer"页面中可以看到数据迁移的过程,如果迁移一直正常,那么就迁移成功啦。

可惜我本次迁移存在问题,记得之前页面的warning么,很有可能是那个问题。但只是1个表迁移有问题,其他表是没有问题的,可以连接到目标数据库去查看。

如果只是1个表迁移失败并且表中的数据不是很多,我们可以通过手动迁移,通过log可以看出,有一个表迁移失败。我们接下来手动迁移这个表。

打开MS SQL Server 2008 Management,找到对应的数据库,在数据库上点击右键“任务”->“生成脚本”

在选择对象中,选择“选择特定数据库对象”,找到想要导出的表,点击下一步。

在“设置脚本编写选项”页面中,点击高级选项。

“找到要编写标本的数据的类型”,选择“架构和数据”。

摘要选项,review相关信息,并点击下一步,即会自动生成脚本。

稍等片刻之后,可以在保存目录中找到脚本文件。

下图即是导出的MS SQL script,但由于导出的SQL script只适用于SQL Server,导入MySQL需要进一步修改,由于两者语法差别不大,稍稍修改即可,请自行搞定啦啦啦啦啦.....

修改后的语句,可以自动在MySQL命令行中执行插入数据,接下来的步骤请自行搞定啦阿拉拉了拉了。。。

==============我是分割线=========================

妈蛋,上面的图都白打马赛克了,最后一张全给暴漏了....

What the hell %>_<%

时间: 2024-10-25 18:07:04

SQL Server数据迁移至MySQL的相关文章

SQL server 数据迁移到mysql

刚加入的新项目才刚刚起步,很多技术还没有真正定型,本来组长决定是用SQL server 的,这几天也在忙着数据库设计,建表,写存储过程,感觉轻车熟路,但是昨天跟着组长去参加我们这个项目的研讨会,用SQL server的计划直接被否决了,不因为性能什么的,只是因为---Money.跟客户谈的时候被砍掉几百万,主任说一套SQL就得十几万,我们这个项目要搭建十几台服务器,这个钱真出不起啊.(Oracle更别提,这个才是真心贵)所以我们只能被迫转为使用开源的mysql,这个不收钱. 所以之前SQLser

c#读sql server数据添加到MySQL数据库

using System;using System.Collections.Generic;using System.Text;using Console = System.Console;using Microsoft.Data.Odbc; using System.Data;using System.Data.SqlClient; namespace ConsoleApplication1{    class Program    {        static void Main(stri

【SQL Server数据迁移】64位的机器:SQL Server中查询ORACLE的数据

从SQL Server中查询ORACLE中的数据,可以在SQL Server中创建到ORACLE的链接服务器来实现的,但是根据32位 .64位的机器和软件,需要用不同的驱动程序来实现. 在64位的机器上,通过访问接口:OracleProvide for OLE DB,来实现. 1.机器环境和软件环境 操作系统是:windows 7旗舰版 64位,SQL Server 20008R2  64  位,Oracle 11g 11.2.0.1.0   64 位. 2.ORACLE环境的设置 连接orac

MySQL 之 导入外部SQL Server数据

在上一篇博客<MySQL 之 5.6.22安装教程>中,我们介绍了MySQL的安装.今天我们主要讲解一下怎么在MySQL中导入外部SQL Server数据,简而言之就是我们怎么将SQL Server数据库中的数据迁移到MySQL数据库中. 为了实现我们想要的数据迁移,我们首先需要下载一个小工具SQLyog,然后安装到我们的电脑上,接下来我们就一步一步用这个小工具开始我们的数据迁移: 首先看看我们SQL Server数据库中的表结构和表中的数据 打开SQLyog,设置数据连接: 创建跟SQL S

SQL Server 数据导入Mysql详细教程

SQL Server 数据导入Mysql详细教程 SQL Server数据库和Mysql 数据库都是关系型数据库,虽然很多数据库都对SQL语句进行了再开发和扩展,使得在不同的数据库中执行的方法或用法不一,但是 SQL Server,Mysql ,Access等都采用了SQL语言标准,不同的数据库中的数据是可以导入的.对于大数据的导入是有相当大的意义. 今天,我和大家一起分享一下,我用的便捷的"sql server 数据导入mysql 中的方法",希望能给大家的项目开发中"sq

C#连接Access、SQL Server、Oracle、MySQL、DB2和SyBase数据库的代码集

C#连接六类数据库的代码集 本文列出了C#连接Access.SQL Server.Oracle.MySQL.DB2和SyBase六种不同数据库的程序源码和需要注意的点. 1.C#连接Access 程序代码: Code using System.Data;using System.Data.OleDb; .. string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+[email protected]&

Oracle数据迁移至MySQL

ORACLE DB: 11.2.0.3.0 MYSQL DB: 5.5.14 因项目需求,需要将ORACLE生产中数据迁移至MYSQL数据库中作为初始数据,方法有如下几种: 1.ORACLE OGG 2.通过手动编写select “insert into”脚本 3.工具,本次我就是使用了工具(sqluldr2),工具下载地址可以到www.anysql.net去下载 使用方法:将sqluldr2.bin工具上传到oracle的bin目录下,[[email protected] bin]# chow

SQL Server的链接服务器(MySQL、Oracle、Ms_sql、Access、SYBASE)

原文:SQL Server的链接服务器(MySQL.Oracle.Ms_sql.Access.SYBASE) 一.使用 Microsoft OLE DB Provider For ODBC 链接MySQL 安装MySQL的ODBC驱动MyODBC 1.为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为myDSN 2.建立链接数据库 EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL',

SQL Server 数据自动化运维

SQL Server 数据自动化运维说到当前的数据库类型,当前主要流行Mysql.Sql Server.Oracle等三种,区别相信大家都已经非常熟悉了,所以在此就不多介绍了,今天我们主要介绍一下我近期工作中遇到的问题,我们的门禁数据库数据存放的数据量过大,导致从页面上操作及查询非常缓慢影响日常操作效率,由于领导要求数据需要保留,方便日后查询,所以我们一般通过日期判断指定日期以外的数据删除这个不可以实现了,当然换个思路想将指定的日期以外的数据插入到备份数据库中,然后再根据指定日期外的数据删除,其