1. 程式人生 > >SqlServer實時資料同步到MySql

SqlServer實時資料同步到MySql

---安裝安裝mysqlconnector /* 配置mysqlconnector ODBC資料管理器->系統DSN->新增->mysql ODBC 5.3 ANSI driver->填入data source name如jt,mysql的ip、使用者名稱、密碼即可

*/


--新建連結伺服器 exec sp_addlinkedserver @server='MySqll_Aggregation',--ODBC裡面data source name @srvproduct='MySql',--自己隨便 @provider='MSDASQL',--固定這個 @datasrc
=NULL, @location=NULL, @provstr='DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=172.17.29.33;DATABASE=bi;UID=zhaowenzhong;PORT=3306;', @catalog=NULL
---建立連線mysql資料庫的賬號及密碼 exec sp_addlinkedsrvlogin @rmtsrvname='MySqll_Aggregation',----ODBC裡面data source name @useself='false', @rmtuser='zhaowenzhong'
,---mysql賬號 @rmtpassword='[email protected]';--mysql賬號其密碼




---測試是否可以訪問mysql資料庫中的表 select from openquery(MySqll_Aggregation,'SELECT * FROM tb; ') -----建立允許遠端訪問連線操作 USE [master] GO EXE Cmaster.dbo.sp_serveroption@server=N'MySqll_Aggregation',@optname=N'rpc out',@optvalue=N'TRUE' GO EXEC 
master.dbo.sp_serveroption@server=N'MySqll_Aggregation',@optname=N'remote proc transaction promotion',@optvalue=N'false' GO --建立LOOPBACK 伺服器連結 EXEC sp_addlinkedserver@server=N'loopback',@srvproduct=N' ',@provider=N'SQLNCLI', @datasrc=@@SERVERNAME go --設定伺服器連結選項,阻止SQL Server 由於遠過程呼叫而將本地事務提升為分佈事務(重點) 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 ---編寫觸發器和儲存過程 --insert CREATE TRIGGER TR_INSERT_TB ON  DB_TY2015.DBO.TB FOR INSERT AS DECLARE@ID INT, @QTY INT SELECT@ID=ID,@QTY=QTY FROM INSERTED; BEGIN EXEC loopback.db_ty2015.dbo.sp_insert@id,@qty; END CREATE PROCEDURE SP_INSERT @ID INT, @QTY INT AS BEGIN SET NOCOUNT ON INSERT OPENQUERY(db_ty2015,'select * from tb')(id,qtyvalues (@id,@qty); SET NOCOUNT OFF END ---update CREATE TRIGGERT R_UPDATE_TB ON DB_TY2015.DBO.TB FOR UPDATE AS DECLARE @ID INT,@QTY INT SELECT@ID=ID,@QTY=QTY FROM INSERTED; BEGIN EXEC loopback.db_ty2015.dbo.sp_update@id,@qty; END CREATE PROCEDURE SP_UPDATE @ID INT, @QTY INT AS BEGIN SET NOCOUNT ON UPDATE OPENQUERY(db_ty2015,'select * from tb'SET qty=@qty WHERE id=@id SET NOCOUNT OFF END --delete CREATE TRIGGER TR_DELETE_TB ON DB_TY2015.DBO.TB FOR DELETE AS DECLARE @ID INT SELECT@ID=ID FROM DELETED; BEGIN EXEC loopback.db_ty2015.dbo.sp_DELETE@id; END CREATE PROCEDURE SP_DELETE @ID INT AS BEGIN SET NOCOUNT ON DELETE OPENQUERY(db_ty2015,'select * from tb'WHERE id=@id SET NOCOUNT OFF END -------初始化資料表已存在的情況 insert  into  penquery(MySqll_Aggregation,'select * from bi.tb')select*from[FSLogin].[dbo].[tb]with(nolock) ---從mysql同步表結構及資料到sqlserver上 select into  [SqlServerDBName].dbo.MYTest  from   openquery(localmysql,'select * from mysqldbname.weibosession')  

相關推薦

SqlServer實時資料同步MySql

---安裝安裝mysqlconnector /* 配置mysqlconnector ODBC資料管理器->系統DSN->新增->mysql ODBC 5.3 ANSI drive

Linux-13-Inotify+Rsync實時資料同步

配置前檢查 1.首先確定Rsync已經配置完成,客戶端可以向服務端推送檔案 [[email protected] ~]$ rsync -avzP ./syncdir [email 

基於canal的實時資料同步

適用場景 使用canal做資料備份而不用mysql自帶的主從備份的場景主要為: 跨資料庫的資料備份,例如mysql => oracle 資料異構,即對同一份資料做不同的分庫分表查詢。例如賣家和買家各自分庫索引 maven <dependen

canal實戰(一):canal連線kafka實現實時同步mysql資料

前面已經介紹過了canal-kafka的應用。canal-kafka是把kafka作為客戶端,嵌入到canal中,並且在canal基礎上對原始碼進行了修改,以達到特定的實現canal到kafka的傳送。 canal-kafka是阿里雲最近更新的一個新的

系統從SqlServer轉向Mysql儲存,同時進行同步方案(多系統資料同步

業務系統底層儲存由原先SQLServer轉向Mysql,但由於歷史原因,SQLServer的資料庫與資料需要保留(原先業務的下游系統有很長資料庫同步鏈條),並需要實時與Mysql進行同步(單向同步)以下

業務系統資料庫從SqlServer轉向Mysql(單系統資料同步

業務系統底層儲存由原先SQLServer轉向Mysql,但由於歷史原因,SQLServer的資料庫與資料需要保留(原先業務的下游系統有很長資料庫同步鏈條),並需要實時與Mysql進行同步(單向同步)以下

多臺伺服器之間如何讓sqlservermysql資料庫進行資料同步?

伺服器儲存視訊,頻寬不夠用,想用多臺伺服器,如何讓所有伺服器之間視訊實時同步,可以用什麼軟體!當企業租用伺服器,但是在資料同步的時候,又有著嚴格的要求,要求資料達到一致,在科技發達的今天,這又該如何做到了?下面天下資料為大家介紹多臺伺服器之間讓資料同步的方法! 1、採用高可用sureHA軟體映象型,一臺

資料庫中兩張表之間的資料同步實現思路(增加、刪除、更新)Mysqlsqlserver

分別建立增加、刪除、更新的觸發器(Trigger)來達到兩張表之間資料同步的目的。 1:資料同步增加:如有兩張表——A表和B表,建立觸發器使當A表插入資料後B表也同步插入資料。其中B表插入資料的欄位需要同A表中的欄位相對應。 CREATE TRIGGER 觸發器名稱 ON A表 AFTER INSERT

mysqlsqlserver資料庫之間的資料同步

Windows 作業系統 需要Mysql 3.23.15以後的版本。 假設資料庫A為主機,資料庫B為從機(A向B提供同步服務,即B中的資料來自A) A機器:IP=10.10.151.166 B機器:IP=10.10.151.156 下面看單向同步的配置步驟: 1 在機器A中建立一個新的資料庫,sq

MYSQL同步Sqlserver資料庫資料

MYSQL同步sqlserver資料庫資料的方法。     1.下載安裝SQLyog v10.51,確保本機安裝了Mysql和Sql server 2008 r2。   2.使用SQLyog連上本地mysql資料庫   3.點資料庫>匯入>匯入

SODBASE實時資料基礎(一):實時同步Mysql資料庫到Kafka

在實際大資料工作中,常常有實時監測資料庫變化或實時同步資料到大資料儲存,解決大資料實時分析的需求。同時,增量同步資料庫資料相比全量查詢也減少了網路頻寬消耗。本文以Mysql的bin-log到Kafka為例,使用Canal Server,通過SODBASE引擎不用寫程式就可以

Oracle GoldenGate 之 SqlServer資料同步Mysql資料庫

專案描述: 將SqlSever 2008 R2中的資料實時或定時的同步到Mysql 5.6資料庫中。 OS DATABASE 來源資料庫 Window 2008 MS SQL 2008 R2 目標資料庫 Linux  MySQL 5.6 實施方案: 如何初始化資料?

使用maxwell實時同步mysql數據到kafka

serve sql_mod port nload mysqld targe 消費 reset entos 一、軟件環境: 操作系統:CentOS release 6.5 (Final) java版本: jdk1.8 zookeeper版本: zookeeper-3.4.1

mysql建立觸發器實現相同伺服器下不同庫的表資料同步的錯誤收集

1、建立INSERT|UPDATE時,由於沒有加上declare和set語句,導致同步表中的大部分資料為null。 解決:參照建立MYSQL TRIGGER 2、1363 - There is no NEW row in on DELETE trigger 原因:delete觸發器不

mysql建立TRIGGER觸發器實現相同伺服器下不同庫的表資料同步

實現功能:mysql建立INSERT|UPDATE|DELETE觸發器實現相同伺服器下不同庫的表資料同步。比如table1表的資料有insert|update|delete操作,便同步到sync表中。然後再根據sync表中state(同步狀態)和oper(操作方式)欄位的狀態將sync表

PHP使用SWOOLE擴充套件實現定時同步 MySQL 資料

南寧公司和幾個分公司之間都使用了呼叫系統,然後現在需要做一個呼叫通話資料分析,由於分公司的呼叫伺服器是在內網,通過技術手段映射出來,分公司到南寧之間的網路不穩定,所以需要把分公司的通話資料同步到南寧。 本身最簡單的方法就是直接配置MySQL的主從同步就可以同步資料到南寧來了。但是銷售呼叫系統那邊

Swoole WebSocket 實現mysql實時資料展示

最近在學習swoole,自己完成下論壇裡留下的作業,通過swoole_websocket實時展示mysql資料,有個遺留問題,如何判斷mysql是否有增刪改,我想到的方法有: 1、在應用層中有增刪改時,發一個訊息到訊息佇列來監聽。 2、解析mysql bin-log日誌。 3、觸發器。 現在的解決辦

MySQL資料同步,出現Slave_SQL_Running:no和slave_io_running:no問題的解決方法

一、問題描述: 當我們配置好MySQL主主同步時,是可以實現主主同步,但是重啟機器後就發現無法同步了。 二、Slave兩個關鍵程序: mysql replication 中slave機器上有兩個關鍵的程序,死一個都不行,一個是slave_sql_running,一個是Slave_IO_Running,一

使用maxwell實時同步mysql資料到kafka

一、軟體環境: 作業系統:CentOS release 6.5 (Final) java版本: jdk1.8 zookeeper版本: zookeeper-3.4.11 kafka 版本: kafka_2.11-1.1.0.tgz maxwell版本:maxwell-1.16.0.tar.gz 注意 :

ElasticSearch5+logstash的logstash-input-jdbc實現mysql資料同步

在實現的路上遇到了各種坑,再次驗證官方文件只能產考不能全信! ElasticSearch安裝就不說了上一篇有說! 安裝logstash 官方:https://www.elastic.co/guide/en/logstash/current/installing-logstash.html 1