sqlserver 数据实时同步到mysql

2025-09-24 17:49:45

1、假设已经安装好了sql server 和 mysql数据库所需的东西。现在仅需要实现同步即可。

1、先下载mysqlconnector,下载完成双击安装。

sqlserver 数据实时同步到mysql

2、打开sqlserver机器上的“控制面板”,找到“管理工具”–“设置数据源(ODBC)”,如果不好找,可以在搜索框中输入“ODBC”找到。

打开“ODBC数据源管理器”,点击“添加”。

sqlserver 数据实时同步到mysql

3、选择“MySQL ODBC 5.3 ANSI Driver”,点击“完成”。

sqlserver 数据实时同步到mysql

4、填写Data Source Name和mysql数据库的IP, Port, User, Password, Database,点击“Test”,可以测试是否连通。

sqlserver 数据实时同步到mysql

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三个触发器,此处省略。

一定要注意两个库结构!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢