共计 1168 个字符,预计需要花费 3 分钟才能阅读完成。
最近因工作需要,需要将 MySQL 数据库迁移到 sqlserver,仅仅是数据迁移,因此相对比较简单。对于 mysql 迁移到 sqlserver,我们需要使用到 mysql odbc 驱动,然后透过 sqlserver 链接服务器的方式来访问 mysql。具体见下文描述。
一、迁移环境
源:RHEL 6.5 + MySQL 5.6.26
目标:Windows 7 64 + SQLserver 2014
二、准备迁移环境
1、下载及安装 ODBC 驱动
http://dev.mysql.com/downloads/connector/odbc/
本次安装下载的文件为:mysql-connector-odbc-5.2.7-winx64.msi 安装过程略
2、配置 ODBC 驱动
对于 mysql 的访问,我们需要配置 ODBC 驱动,来使得 SQLserver 能够识别。
打开控制面板,管理工具,数据源(ODBC),选择 System DSN 选项卡,单击添加,选择 MySQL ODBC 5.2 Unicode
Driver,如下截图:
以下配置连接参数,指定数据源名称,IP 地址及端口号,如下图:
添加完毕后单击确定(OK)。
3、添加链接服务器
使用下面的代码添加链接服务器,注意替换相应的字符。USE master
GO
EXEC sp_addlinkedserver @server = 'MySQL', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'MySQL_SRC'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='MySQL',@useself='false',@locallogin='sa',@rmtuser='root',@rmtpassword='mysql'
GO
4、测试链接服务器
SELECT * FROM OPENQUERY (MySQL ,'select * from testdb.tt)
id dt
1 2016-03-18 10:48:06.0000000
2 NULL
3 NULL
二、实施数据迁移
USE master
GO
CREATE DATABASE material -- 创建目标数据库
GO
可以使用以下语句查询需要迁移的 schema 下的表
SELECT * FROM OPENQUERY (MySQL ,'select * from information_schema.TABLES where table_schema=''material''' )
将所有表内容插入到 SQLserver,如下方式
SELECT * INTO material.dbo.ic_goods FROM OPENQUERY (MySQL ,'select * from material.ic_goods');
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/130287.htm
正文完
星哥玩云-微信公众号