sqlserver 数据实时同步到mysql
1、假设已经安装好了sql server 和 mysql数据库所需的东西。现在仅需要实现同步即可。
1、先下载mysqlconnector,下载完成双击安装。
2、打开sqlserver机器上的“控制面板”,找到“管理工具”–“设置数据源(ODBC)”,如果不好找,可以在搜索框中输入“ODBC”找到。
打开“ODBC数据源管理器”,点击“添加”。
3、选择“MySQL ODBC 5.3 ANSI Driver”,点击“完成”。
4、填写Data Source Name和mysql数据库的IP, Port, User, Password, Database,点击“Test”,可以测试是否连通。
5、点击“OK”,“用户数据源”列表中就增加了一记录, 名字就是刚刚设置的DataSourceName,如第二个图所示。
1、创建链接服务器
exec sp_addlinkedserver @server='mysql128', --ODBC里面data source name @srvproduct='mysql', --自己随便 @provider='MSDASQL', --固定这个 @datasrc=NULL, @location=NULL, @provstr='DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=192.168.150.128;DATABASE=test;UID=test;PORT=3306', @catalog = NULL
go
2、创建登录账号
exec sp_addlinkedsrvlogin
@rmtsrvname='mysql128', --ODBC里面的Data Source Name
@useself='false',
@rmtuser='centos', --mysql账号
@rmtpassword='123456'; --mysql密码
go
3、建立远程访问连接
USE [master]GOEXEC master.dbo.sp_serveroption @server=N'mysql128', @optname=N'rpc out', @optvalue=N'TRUE'GOEXEC master.dbo.sp_serveroption @server=N'mysql128', @optname=N'remote proc transaction promotion', @optvalue=N'false'GO
4、建立LOOPBACK 服务器链接
EXEC sp_addlinkedserver @server=N'loopback',@srvproduct=N' ', @provider=N'SQLNCLI',@datasrc=@@SERVERNAME
GO
5、设置
USE [master]
GO
EXEC master.dbo.sp_serveroption @server=N'loopback',@optname=N'rpc out',@optvalue=N'TRUE'
GO
EXEC master.dbo.sp_serveroption @server=N'loopback',@optname=N'remote proc transaction promotion',@optvalue=N'false'
GO
6、测试:
select * from openquery(mysql128,'SELECT * FROM test;')
GO
7、通过存储过程和触发器来实现同步,一般要包括insert\update\delete三个触发器,此处省略。
一定要注意两个库结构!