導航:首頁 > 編程大全 > mssqlmysql資料庫同步

mssqlmysql資料庫同步

發布時間:2021-12-05 08:40:06

㈠ 怎麼把mysql里的某個表跟mssql的某個表同步呢。這兩個數據在同一台伺服器上

web服務首先功能上要考慮分布式計算處理,比如說有多個二級域名等等的情況,而且還要考慮數據的處理問題,比如說第一所有子站數據導入導出到總站里(在此之前總站的數據可能沒有或者不同步),一次性的通過web服務傳遞信息,還比如說子站增加了100條數據,也可以通過web服務實現數據同步web服務而且又是輕量級數據信息傳遞,對於網路利用率來說沒有太大負擔對於信息加密解密方面,可以自定義個演算法出來總的來說,就是web服務可以支持跨平台、跨語言、輕量級、分布式的結合,真正的完全的符合實際需要可是如果單純的用觸發器來解決的話,可能達不到任意1個平台、語言、資料庫、環境等因素的考驗

㈡ MSSQL與MYSQL數據互訪同步如何實現

當然可以啊,當用戶切換到論壇的時候你把session中的值取出來在mysql中間再查詢一邊不就可以了,論壇有入口啊,共享session值就可以了

㈢ 怎樣將windows 上mssql數據實時同步到linux下mysql上

yncNavigator的基本功能:
自動同步數據/定時同步數據
無論是實時同步/24小時不間斷同步,還是根據計劃任務(每小時/每日/每周/等)定時自動同步都能完全勝任。

完整支持 Microsoft SQL Server
完整支持 Microsoft SQL Server 2000 2005 2008 資料庫類型。並能在不同資料庫版本之間相互同步數據。

支持 MySQL 4.1 以上版本
支持 MySQL 4.1 5.0 5.1 5.4 5.5。並能在不同資料庫版本之間相互同步數據。

無人值守和故障自動恢復
當資料庫故障或網路故障以後,無需人工干預(或操作)自動恢復同步並確保數據完全准確,可靠。

同構資料庫同步/異構資料庫同步
SQL Server to SQL Server, MySQL to MySQL, SQL Server to MySQL 等都能輕松實現。

斷點續傳和增量同步
當同步完成(或中斷)後,再次同步時能繼續上一次的位置增量同步,避免每次都需要從頭開始的問題。
創建一個同步項目
安裝完成、
1、點擊 "SyncNavigator (客戶端)" 圖標進入系統
2、在登錄界面中輸入連接到的伺服器地址,點擊 "確定" 按鈕開始連接。
注意:這里不是登陸您的資料庫,而是登陸到本軟體的管理端。
默認情況下直接點擊 "連接" 按鈕即可(本機默認已經安裝)。
默認伺服器登錄用戶名為 "admin" 密碼為空。
本機伺服器地址為 127.0.0.1 。
您可以使用域名或者IP地址作為伺服器地址。

3、切換到 "同步管理" 面板中點擊 "新建" 按鈕開始創建同步項目。
4、 首先切換到 "來源資料庫" 選項卡。填寫同步的來源資料庫信息。 (存放需要同步數據的資料庫叫做來源資料庫)
一般情況下只需要輸入資料庫地址,資料庫名稱,登錄用戶名,登錄密碼。
資料庫地址: 來源數據所在機器的地址。可以是域名或者IP地址。
資料庫名稱: 來源資料庫名稱。如果已經指定了默認的登錄資料庫可以為空。
登錄用戶名: 登錄資料庫伺服器使用的用戶名。如果需要使用Windows賬戶登錄請變更 "登錄方式"
連接測試: 測試輸入的信息是否正確。如果連接失敗則會返回具體錯誤信息。

5、切換到 "目標資料庫" 選項卡。以相同的方式填寫同步的目標資料庫。
目標數據可以像來源資料庫那樣選擇已有的資料庫,也可以通過本軟體創建一個新的資料庫,選擇已有資料庫步驟大致同上,新建資料庫步驟如下:
您只需要創建一個新的目標資料庫,軟體會自動創建最大兼容的表結構。
如果您希望目標資料庫與來源資料庫表結構完全一致,您只需要在目標資料庫創建一個空表結構即可。
當您使用 MySQL 作為來源資料庫時,同步的表至少需要一個主鍵。
目標資料庫不應包含外鍵約束,因為它可能導致部分數據無法同步。
如果您的目標資料庫與來源資料庫結構(如欄位類型,約束)不兼容,這可能導致部分數據無法同步。
假設您設置來源庫為 192.168.1.2 ,設置目標資料庫為 192.168.1.3, 那麼數據將從192.168.1.2 同步到 192.168.1.3。如果您的方向設置錯誤,可能會導致數據被覆蓋。
6、切換到 "同步內容設置" 選項卡。選擇需要同步的資料庫表。
如果需要設置每個表的具體內容可以點擊 "詳細設置" 按鈕進行調整。
您可以設置條件過濾。比如只查詢評分大於90的表記錄,或者隱藏不需要同步的欄位。
如果在這一個步驟未勾選任何錶則不會同步任何內容。
7、點擊 "確定"按鈕完成項目設置。
8、切換到 "總控制台" 面板中選擇需要開始同步的項目。點擊 "開始" 按鈕即可開始資料庫同步。

自動同步資料庫數據
使用 HKROnlineSyncNavigator 自動同步資料庫數據。與谷歌日歷、Hotmail日歷等的操作非常類似,您只需要設置同步任務執行的時間系統便能在指定的時間自動運行。
1、在 "同步管理"面板中選擇需要設置的項目,點擊 "修改" 按鈕開始設置。
2、 切換到 "計劃調度設置" 選項卡,點擊 "新建" 按鈕新建一個運行計劃。
3、 指定需要運行的時間。設置完成後點擊 "確定" 按鈕完成設置。
開始日期: 計劃開始的時間。可以設置為以後的一個時間點表示未來執行。
一次: 只執行一次同步任務。執行完成後此計劃立即失效。
每天: 每天都在指定的時間運行。如果需要在每天都運行多次,請勾選 "重復任務" 復選框並設置間隔周期。
每周: 每周按照指定的時間運行。如果不需要在指定的時間運行可以取消具體的時間復選框。
過期日期: 任務將在指定的時間過期。過期後的任務不再被執行。
使用這個計劃: 表示該計劃是否有效。如果取消此復選框計劃任務將不再被執行。
4、點擊 "確定"按鈕保存當前設置。
預計下次運行時間 列顯示了同步任務下次自動運行的時間。

啟動/停止服務端服務

1、點擊 "SyncNavigator(客戶端)" 圖標進入系統。
2、在登錄界面中點擊 "取消" 按鈕後點擊 "本地服務" 按鈕。

2. 打開界面後,圖中綠色區域顯示當前服務的啟動狀態。點擊區域內按鈕可以切換服務狀態為 "啟動" 或"停止"。
已啟動: 服務端已經啟動。可以正常運行資料庫同步任務並處理客戶端命令。
已停止: 服務端已經停止。所有的同步任務不會被運行,並不再處理客戶端的命令。

SQL Server 自動同步到MySQL
本文章將向您介紹如何將數據從SQL Server 自動或定時同步到 MySQL 資料庫(或從 MySQL 自動或同步到 SQL Server 資料庫)。只需通過幾個步驟即可輕松實現。
1. 在 "同步管理"面板中點擊 "新建" 按鈕創建同步項目。
2. 首先切換到 "來源資料庫" 選項卡。填寫同步的來源資料庫信息。
資料庫類型選擇 SQL Server 2000 / 2005 /2008.
3. 切換到 "目標資料庫" 選項卡。以相同的方式填寫同步的目標資料庫。
資料庫類型選擇 Mysql 4.1 5.0 5.1 5.4 5.5
當您從 MySQL 同步到 SQL Server 時,每張表至少需要一個主鍵(從 SQL Server 到 MySQL 不需要)
4. 切換到 "同步內容設置" 選項卡。選擇需要同步的資料庫表。
5. 切換到 "計劃調度設置" 選項卡,新建一個運行計劃。
如果需要自動同步(如24小時不間斷)則選擇自動。
如果需要定時同步,則點擊對應的選項。
6. 點擊 "確定",設置成功!

注意:當您使用軟體自動創建表結構,從MySQL同步到 SQL Server 可能出現的問題:
1、MYSQL 的 DateTime 類型,可能存在 '0001-1-10:0:0' 值,與SQL Server 的 DateTime取值范圍不兼容,需要將 SQL Server 的
DateTime 類型修改為 DateTime2。
2、MySQL 的UTF-8 字元集資料庫,同步到 SQL Server 時,可能需要將 SQL Server 的 varchar 類型需要修改為 nvarchar 類型。

提升資料庫同步速度和性能
SyncNavigator 默認的同步項目配置僅適合中小型的資料庫。當您需要對大型,超大型資料庫進行同步時,進行以下設置可以明顯的提高資料庫同步速度。
1、在 "同步管理"面板中選擇需要設置的項目,點擊 "修改" 按鈕開始設置。
2、切換到 "同步參數設置" 選項卡。

參數介紹:
自動優化網路傳輸吞吐量: 允許軟體根據表結構動態調節同步時的傳輸數據量。建議勾選。
輪詢檢索緩存大小: 當您使用大型資料庫時,建議設置為2048或以上。
數據接收緩存大小: 當您使用大型資料庫時,建議設置為2048或以上。
BLOB類型緩存大小: 當您使用大型資料庫時,建議設置為50或以上。
緩存資料庫結構: 當您正式部署項目後,可以勾選此選項以提高同步速度。
對超大型資料庫進行優化: 當您正式部署項目後,可以勾選此選項以提高同步速度。

㈣ 如何實現mysql和mssql的數據同步

MSSQL內部可以訪問ODBC驅動程序
--連接mysql
安裝MySQL的ODBC驅動MyODBC

1、為MySQL建立一個ODBC系統數據源,例如:選擇資料庫為test ,數據源名稱為 myDSN

2、建立鏈接資料庫
EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mysql的用戶名',@rmtpassword='mysql的密碼'

3、查詢數據

SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表' )

㈤ 資料庫mysql里的數據 與sqlserver里的數據同步

CSDN上找到的一個方案,不知道行不行,參考下吧:

在mssql的伺服器上安裝MySQL的ODBC驅動MyODBC

1、為MySQL建立一個ODBC系統數據源,例如:選擇資料庫為test ,數據源名稱為 myDSN

2、建立鏈接資料庫
EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mysql的用戶名',@rmtpassword='mysql的密碼'

3、操作數據

SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表' )

㈥ MSSQL和MYSQL數據同步

學習一下!!

㈦ mysql資料庫同步問題

用oracle吧

㈧ MSSQL中如何實現兩張表數據同步高分追加

自從SQL Server 2000以來,你已經能夠通過使用復制來創建一個備用的伺服器、傳輸日誌,以及備份和重新存儲了——但是現在微軟又引入了一個內建的工具,它可以實現自動的錯誤恢復。資料庫鏡像是SQL Server 2005的一個新特性,它允許你將一個SQL Server中的資料庫內容鏡像到另一個SQL Server上。它還讓你可以在發生錯誤的時候,通過鏡像資料庫來進行錯誤恢復。

Edgewood Solutions 的Greg Robidoux 回答了我們一些SQL Server 2005中有關資料庫鏡像的常見問題,同時還解釋了為什麼你現在就應該開始測試這個內建的功能來看看它最終是否會給你的環境帶來好處。

什麼是資料庫鏡像?

Robidoux:資料庫鏡像是將資料庫事務處理從一個SQL Server資料庫移動到不同SQL Server環境中的另一個SQL Server資料庫中。鏡像的拷貝是一個備用的拷貝,不能直接訪問;它只用在錯誤恢復的情況下。

因為是在SQL Server 2005中新引入的特性,這個功能只能用在,這個版本的軟體中。在某種程度上說,它是復制和日誌傳輸的混合體:你所有的事物都在事物級別(復制)上移動(日誌傳輸)到你的資料庫的一個鏡像拷貝上,同時減少了你在實現日誌傳輸或者復制的時候可能會面臨的問題。

復制包括大量的移動部分,並且如果你的資料庫計劃經常改變的話,要保證你的復制運行得流暢也是困難重重。對於日誌傳輸,為了保證同步,同樣需要實現很多的處理,例如創建備份、拷貝備份,以及備份重存。如果有一個進程崩潰了,整個處理過程就崩潰了。

資料庫鏡像的工作方式是什麼?

Robidoux :要進行資料庫鏡像所需的最小需求包括了兩個不同的SQL Server運行環境。主伺服器被稱為「基本的」,第二個伺服器被稱作「鏡像的」。基本資料庫就是你實際用著的資料庫,鏡像資料庫就是你的資料庫的備用拷貝。當事務寫入你的基本伺服器的時候,他們也同樣被傳送到並寫入你的鏡像資料庫中。

除了基本和鏡像之外,你還可以引入另一個可選的組件,名為「證人」。證人資料庫是第三個SQL Server 2005運行實例,它是在判斷什麼時候進行錯誤恢復的時候,用於基本和鏡像之間內部交流。只有當你想實現自動錯誤恢復的時候用到這個選項。它實現了2比1投票的能力,當我的一個組件不可達,並因此需要進行錯誤恢復的時候。證人伺服器只有在你想實現自動錯誤恢復的時候才需要用到。

實現的方式是什麼?

Robidoux :資料庫鏡像提供了三種實現的方式。根據你想要用什麼方式來進行錯誤恢復處理來進行選擇。

高可用性:這個操作模式選項允許你在兩台伺服器上同步事務寫入,並支持自動錯誤恢復。要使用這個選項,你必須還要使用一個證人伺服器。

高保護:這個選項可以讓你在兩台伺服器上同步事物寫入,但是錯誤恢復是手工的。因為自動的錯誤恢復不是這個選項的一部分,所以也不會用到證人伺服器。

高性能:這個選項不關心兩台伺服器上的寫入是否是同步的,因此在性能上有所提高。當使用這個選項的時候,你只能假設鏡像伺服器上的所有事情都是成功完成。這個選項只允許手工的錯誤恢復,因此不會用到證人伺服器。

時刻記住將你的數據自動恢復到第二個拷貝才是資料庫鏡像的真正好處。因此,大多數的實現可能都是使用的高可達性方式。其他的選項仍然提供了內建的錯誤恢復過程,但是前提是你在發生錯誤的時候對進行自動的錯誤恢復懷有極大的興趣。

資料庫鏡像可以工作在哪幾個版本上?

Robidoux :資料庫鏡像只能在標准版、開發版和企業版的SQL Server 2005中找到。基本伺服器和鏡像伺服器的SQL Server運行實例都需要是這幾個版本。證人伺服器可以運行在任何版本的SQL Server上。此外,還有其他的一些特性是SQL Server的開發版和企業版上特有的,但是標准版具有最基本的功能。

㈨ 2台MSSQL伺服器某資料庫怎麼同步

.介紹

現在的網站隨著訪問量的增加,單一伺服器無法承擔巨大的訪問量,有沒有什麼方便快捷的方式解決這個問題呢,答案是」有」!
比如建立伺服器群,進行均衡負載.
但是如果要解決像電信網通這樣的互訪問題(中國網民的悲哀..),這個解決辦法就無能為力了!
要解決這個問題最方便快捷的方式就是建立鏡像網站!由訪問者自己選擇適合自己網路的速度最快的網站!這樣即可以解決線路問題,又可以解決訪問量問題!

2.網站同步的數據分類

網站數據基本分為兩類:
一類是文件,比如HTML,ASP,PHP等網頁文件,或者RAR,ZIP,RM,AVI等可下載文件!
要實現他們的同步很簡單,用FTP同步軟體就可以了!至於哪幾個我會在後面做詳細介紹.

一類是資料庫數據文件,比如MySQL,SQLServer等等!
資料庫同步的方法也很多,最簡單的辦法只是將資料庫目錄同步一下就OK了!
在後面我也會做詳細講解!

3.網站文件的同步

在這里用到的主要工具就是FTP,網站文件同步分兩種情況,一種是本地到遠程,一種是遠程到遠程(FXP)!第一種不用說了,第二種遠程到遠程即FXP,支持它的軟體也很多,但是真正適合多網站同步鏡像的卻不多!
下面我介紹幾個我認為不錯的軟體!

1.首先我要推薦的是國產的FTP軟體」網路傳神」,功能非常強大,特別是在網站的同步鏡像方面,可惜的是,這款非常經典的軟體已經不再更新了,最後更新時間是2003年3月,最後一個版本是3.12!雖然如此還是非常好用的!下面是一段官方的簡介:

網路傳神完全吸收了Cuteftp和UpdataNow的全部功能,並且增加了其他軟體沒有的多項功能:支持網站互傳;支持網站同步(UPDATANOW);支持後台上傳(多線程上傳多個文件);可同時打開多個站點;多站點計劃上傳功能,支持鏡像站點;支持宏操作支持計劃操作;支持文件高級比較上傳;支持目錄隱藏過濾(為用ForntPage作主頁的朋友帶來福音);伺服器自動識別功能;資源管理器瀏覽方式;可以自定義命令;支持RFC959標准具有更好的穩定性;完備的信息返回機制及錯誤監控機制完整的中文幫助。

2.第二款是由ReGet同一開發公司製作的專用於網站同步的軟體」WebSynchronizer」,用這款軟體,你才會體驗到網站同步的方便快捷,簡單容易.最新版本是1.3.62,網上能找到XX的最後版本是1.1版!下面是一段簡介:

檔案同步化工具-WebSynchronizer,由知名續傳軟體ReGet之軟體出版公司所推出,是網站同步化、檔案鏡像、檔案備份的絕佳工具,可以執行下列主要工作:1)本機資料夾及遠程資料夾的同步化;2)兩台遠程計算機中的資料夾同步化;3)兩個本機資料之同步化。

3.其他還有一些軟體如同步快梭(AutoSyncFTP),也能實現簡單的網站同步,不過,這款軟體非常不穩定,而且2001年就已經停止開發.所以,不用考慮了!還有上次有朋友提到的SiteMirro,由於網上找不到可以用的版本,所以沒有辦法測試!

網路傳神網站同步鏡像使用傻瓜指南

上次在網路技術版已經發過一個簡單的使用方法介紹,如果嫌我羅嗦(o(>_<)o),大家可以參考那篇文章:
http://bbs.et8.net/bbs/showthread.php?t=650129

第一次運行網路傳神的時候,它會讓你選擇」完全模式」和」啟動模式」,要使用網站同步必須選擇」完全模式」.

進入主界面:你會發現這個軟體非常像FlashGet,要使用網站同步功能,點擊軟體左下角的」FTP客戶端」.

現在你要做的就是添加你的鏡像母站和需要鏡像的網站:文件->站點管理,在裡面添加你需要同步的幾個的FTP伺服器,下面我將介紹具體設置(主要是鏡像母站的設置)

母站設置最重要的地方就是」比較目錄(網站同步)」:

1.拖動傳送
就是手動拖動傳送時候的傳送方式,非拖動方式不受影響,因為母站的更新基本上是從本地目錄進行的,所以建議這里選擇第二項」只上傳不同的文件」,鏡像站點這里可以忽略
2.磁碟比較設置
這個功能非常有用,可以通過文件長度和文件日期進行文件差異對比.

你還可以設置本地目錄過濾和伺服器目錄過濾,非常靈活!
好了,添加好母站和鏡像站之後,我們來設置同步:

如果是添加鏡像站,則會跳出下面的母站選擇窗口:

設置好多個鏡像站點之後,返回主界面就可以進行網站同步了:

注意事項:
一般不要改動鏡像站點前面的「對鉤」標志,因為鏡像站點同步的原理是「根據主站點的同步信息更新鏡像站點」,如果景象站點沒有更新那麼必須將該鏡像站點單獨同步。
注意一般應該「選項窗口」-〉「FTP客戶端」-〉「計劃」中的「最大連接個數」和「最大線程個數」一般不要改動保持為「1」。
如果同步時某個站點出錯同步沒有完全完成只需按「計劃」窗口中的按鈕單獨執行某個站點的傳送即可。

再介紹一下網站鏡像同步中必要的功能,定時同步,這樣你就只要做好母站的更新,其他的讓網路傳神幫你完成:
點擊設置:

進入網路傳神的選項設置窗口,選中FTP客戶端中的定時同步

定時下載:在指定的時段內下載文件。
定時上傳:在指定的時段內用網站同步的方法進行上傳。
開始時間:如果要使用定時方式必須設置此項,在設置的時間中會自動開始所有設置為計劃的站點。
停止時間:如果設置此項則當系統時間大於停止時間時自動停止所有設置為計劃的站點。

注意:定時上傳種沒有「停止時間」選項,網站同步完成後會自動停止,同時網站同步同一時間只能運行一次。

網路傳神還有很多為便於同步鏡像設置的功能,大家實際使用中去體會吧!

WebSynchronizer網站同步鏡像使用傻瓜指南

WebSynchronizer功能非常強大,不單單是網站同步,還可以進行本地目錄同步,本地到遠程同步,功能方面遠勝過傳神,不過,國內好像沒有漢化版,對於一些對英文感冒的朋友用起來會不太舒服,希望CCF里的漢化高手能將他中文化!

開始運行程序,老外的軟體就是智能,一打開這個軟體就會有一個同步向導跳出來!

在這里,你也看出來了吧,這個軟體只支持兩個目錄間的同步.不過,我們可以創建多個項目來解決這個問題!具體我在後面介紹!這里,我們來看看如何建立兩個遠程目錄的同步!
選擇第二項,進入下一個選擇框:

網站同步當然是選擇第一項了!再進入下一步,要你選擇同步的第一個伺服器,建議在這里serverslist,先編輯好需要同步的幾個FTP

同步方式設置說明:
第一項的意思是:上傳下載所有改變的文件
第二項的意思是:不改變文件夾內容,只下載新的文件

點擊下一步進行第二個伺服器設置,方法和第一個一樣!
設置完成後,你還可以修改任務名稱!
我覺得這點就是這個軟體非常優秀的地方,以任務的方式進行管理.非常方便!

OK,現在我們就可以看到他的主界面了!

還有一點要提,他的計劃任務更能也很強大,在這里我就不再多說了!用過才知道他的強大!

有朋友會說,我要進行兩個以上的網站同步怎麼辦?
很簡單,再多建幾個任務就可以了,要鏡像多少網站都沒有問題!
這個軟體的網站同步鏡像可以非常靈活,比如可以本地-遠程,然後再遠程-遠程!或者本地-遠程1,本地-遠程2,遠程1-遠程2,任何情形下的同步都可以完成!

資料庫同步操作指南

說完了文件同步,我們再來探討一下資料庫同步!
這里我主要教大家兩種最常用的資料庫的同步方法!

MySQL

MySQL數據同步主要有三種方式:
1.利用MySQL自身的資料庫同步功能
2.利用MySQL資料庫的特性(資料庫存在固頂目錄,並且以文件形式存儲),進行資料庫目錄同步以達到數據同步目的
3.利用專用的MySQL資料庫同步軟體

1.利用MySQL自身的資料庫同步功能(下面參考自網上的文章,寫的非常詳細了)
MySQL從3.23.15版本以後提供資料庫復制功能。利用該功能可以實現兩個資料庫同步,主從模式,互相備份模式的功能.

資料庫同步復制功能的設置都在mysql的設置文件中體現。mysql的配置文件(一般是my.cnf),在unix環境下在/etc/mysql/my.cnf或者在mysql用戶的home目錄下的my.cnf。

windows環境中,如果c:根目錄下有my.cnf文件則取該配置文件。當運行mysql的winmysqladmin.exe工具時候,該工具會把c:根目錄下的my.cnf命名為mycnf.bak。並在winnt目錄下創建my.ini。mysql伺服器啟動時候會讀該配置文件。所以可以把my.cnf中的內容拷貝到my.ini文件中,用my.ini文件作為mysql伺服器的配置文件。

設置方法:
設置範例環境:
操作系統:window2000professional
mysql:4.0.4-beta-max-nt-log
Aip:10.10.10.22
Bip:10.10.10.53
A:設置
1.增加一個用戶最為同步的用戶帳號:
GRANTFILEON*.*TObackup@'10.10.10.53'IDENTIFIEDBY『1234』
2.增加一個資料庫作為同步資料庫:
createdatabasebackup
B:設置
1.增加一個用戶最為同步的用戶帳號:
GRANTFILEON*.*TObackup@'10.10.10.22'IDENTIFIEDBY『1234』
2.增加一個資料庫作為同步資料庫:
createdatabasebackup
主從模式:A->B
A為master
修改Amysql的my.ini文件。在mysqld配置項中加入下面配置:
server-id=1
log-bin
#設置需要記錄log可以設置log-bin=c:mysqlbakmysqllog設置日誌文件的目錄,
#其中mysqllog是日誌文件的名稱,mysql將建立不同擴展名,文件名為mysqllog的幾個日誌文件。
binlog-do-db=backup#指定需要日誌的資料庫
重起資料庫服務。
用showmasterstatus命令看日誌情況。
B為slave
修改Bmysql的my.ini文件。在mysqld配置項中加入下面配置:
server-id=2
master-host=10.10.10.22
master-user=backup#同步用戶帳號
master-password=1234
master-port=3306
master-connect-retry=60預設重試間隔60秒
replicate-do-db=backup告訴slave只做backup資料庫的更新
重起資料庫
用showslavestatus看同步配置情況。
注意:由於設置了slave的配置信息,mysql在資料庫目錄下生成master.info
所以如有要修改相關slave的配置要先刪除該文件。否則修改的配置不能生效。
雙機互備模式。
如果在A加入slave設置,在B加入master設置,則可以做B->A的同步。
在A的配置文件中mysqld配置項加入以下設置:
master-host=10.10.10.53
master-user=backup
master-password=1234
replicate-do-db=backup
master-connect-retry=10
在B的配置文件中mysqld配置項加入以下設置:
log-bin=c:mysqllogmysqllog
binlog-do-db=backup
注意:當有錯誤產生時*.err日誌文件。同步的線程退出,當糾正錯誤後要讓同步機制進行工作,運行slavestart
重起AB機器,則可以實現雙向的熱備。
測試:
向B批量插入大數據量表AA(1872000)條
A資料庫每秒鍾可以更新2500條數據。

2.資料庫目錄同步,方法和文件同步一樣,設置好需要同步的兩個資料庫目錄就可以了!
缺點很明顯,數據同步只能單向進行,可以作為備份方案

3.用專用的MySQL同步軟體進行同步
這方面的軟體有SQLBalance和MyReplicator,優點是方便直觀,還有很多爭強功能!
缺點和2一樣,只能單項同步!
當然你也可以修改鏡像網站的程序為提交數據到母資料庫,讀取則在當前鏡像下的數據,不過,修改起來麻煩!普通用戶修改也非常難!呵呵,大家了解一下就可以!給大家一個思路!有能力的朋友可以試試阿!

4.關於MySQL論壇的數據同步
由於數據來源的不可控制(不好表達),論壇數據是實時的,而且還要考慮來自鏡像論壇的數據,如何實現鏡像論壇與母論壇數據同步呢?
用1中介紹的MySQL自帶的資料庫同步功能互相備份模式就可以實現的!
不過,具體的應用我沒有測試!穩定性不敢保證!
有能力的朋友推薦用下面這種思路來同步,相對來說減少點效率,但能減少發生的錯誤!
比如鏡像論壇數據同步:
1.母論壇和鏡像論壇的數據全寫在母論壇資料庫里,主從模式,讀取只在本地讀取,這個需要修改程序!

2.每次寫數據,都同時提交到兩個資料庫中,安全,但是效率很差,也得修改程序!

MSSQL

MSSQL數據同步利用資料庫復制技術實現數據同步更新(來自網路,也是非常完美的教程)
復制的概念
復制是將一組數據從一個數據源拷貝到多個數據源的技術,是將一份數據發布到多個存儲站點上的有效方式。使用復制技術,用戶可以將一份數據發布到多台伺服器上,從而使不同的伺服器用戶都可以在許可權的許可的范圍內共享這份數據。復制技術可以確保分布在不同地點的數據自動同步更新,從而保證數據的一致性。
SQL復制的基本元素包括
出版伺服器、訂閱伺服器、分發伺服器、出版物、文章
SQL復制的工作原理
SQLSERVER主要採用出版物、訂閱的方式來處理復制。源數據所在的伺服器是出版伺服器,負責發表數據。出版伺服器把要發表的數據的所有改變情況的拷貝復制到分發伺服器,分發伺服器包含有一個分發資料庫,可接收數據的所有改變,並保存這些改變,再把這些改變分發給訂閱伺服器
SQLSERVER復制技術類型
SQLSERVER提供了三種復制技術,分別是:
1、快照復制(呆會我們就使用這個)
2、事務復制
3、合並復制
只要把上面這些概念弄清楚了那麼對復制也就有了一定的理解。接下來我們就一步一步來實現復制的步驟。
第一先來配置出版伺服器
(1)選中指定[伺服器]節點
(2)從[工具]下拉菜單的[復制]子菜單中選擇[發布、訂閱伺服器和分發]命令
(3)系統彈出一個對話框點[下一步]然後看著提示一直操作到完成。
(4)當完成了出版伺服器的設置以後系統會為該伺服器的樹形結構中添加一個復制監視器。同時也生成一個分發資料庫(distribution)
第二創建出版物
(1)選中指定的伺服器
(2)從[工具]菜單的[復制]子菜單中選擇[創建和管理發布]命令。此時系統會彈出一個對話框
(3)選擇要創建出版物的資料庫,然後單擊[創建發布]
(4)在[創建發布向導]的提示對話框中單擊[下一步]系統就會彈出一個對話框。對話框上的內容是復制的三個類型。我們現在選第一個也就是默認的快照發布(其他兩個大家可以去看看幫助)
(5)單擊[下一步]系統要求指定可以訂閱該發布的資料庫伺服器類型,SQLSERVER允許在不同的資料庫如ORACLE或ACCESS之間進行數據復制。但是在這里我們選擇運行"SQLSERVER2000"的資料庫伺服器
(6)單擊[下一步]系統就彈出一個定義文章的對話框也就是選擇要出版的表
(7)然後[下一步]直到操作完成。當完成出版物的創建後創建出版物的資料庫也就變成了一個共享資料庫。
第三設計訂閱
(1)選中指定的訂閱伺服器
(2)從[工具]下拉菜單中選擇[復制]子菜單的[請求訂閱]
(3)按照單擊[下一步]操作直到系統會提示檢查SQLSERVER代理服務的運行狀態,執行復制操作的前提條件是SQLSERVER代理服務必須已經啟動。
(4)單擊[完成]。完成訂閱操作。
完成上面的步驟其實復制也就是成功了。但是如何來知道復制是否成功了呢?這里可以通過這種方法來快速看是否成功。展開出版伺服器下面的復制——發布內容——右鍵發布內容——屬性——擊活——狀態然後點立即運行代理程序接著點代理程序屬性擊活調度把調度設置為每一天發生,每一分鍾,在0:00:00和23:59:59之間。接下來就是判斷復制是否成功了打開C:/ProgramFiles/MicrosoftSQLServer/MSSQL/REPLDATA/unc/XIAOWANGZI_database_database下面看是不是有一些以時間做為文件名的文件夾差不多一分中就產生一個。要是你還不信的話就打開你的資料庫看在訂閱的伺服器的指定訂閱資料庫下看是不是看到了你剛才所發布的表—
一個手工同步的方案
--定時同步伺服器上的數據
--例子:
--測試環境,SQLServer2000,遠程伺服器名:xz,用戶名為:sa,無密碼,測試資料庫:test
--伺服器上的表(查詢分析器連接到伺服器上創建)
createtable[user](idintprimarykey,numbervarchar(4),namevarchar(10))
go
--以下在區域網(本機操作)
--本機的表,state說明:null表示新增記錄,1表示修改過的記錄,0表示無變化的記錄
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[user]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[user]
GO
createtable[user](idintidentity(1,1),numbervarchar(4),namevarchar(10),statebit)
go
--創建觸發器,維護state欄位的值
createtriggert_stateon[user]
afterupdate
as
update[user]setstate=1
from[user]ajoininsertedbona.id=b.id
wherea.stateisnotnull
go
--為了方便同步處理,創建鏈接伺服器到要同步的伺服器
--這里的遠程伺服器名為:xz,用戶名為:sa,無密碼
ifexists(select1frommaster..sysserverswheresrvname='srv_lnk')
execsp_dropserver'srv_lnk','droplogins'
go
execsp_addlinkedserver'srv_lnk','','SQLOLEDB','xz'
execsp_addlinkedsrvlogin'srv_lnk','false',null,'sa'
go
--創建同步處理的存儲過程
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[p_synchro]')andOBJECTPROPERTY(id,N'IsProcere')=1)
dropprocere[dbo].[p_synchro]
GO
createprocp_synchro
as
--setXACT_ABORTon
--啟動遠程伺服器的MSDTC服務
--execmaster..xp_cmdshell'isql/S"xz"/U"sa"/P""/q"execmaster..xp_cmdshell''netstartmsdtc'',no_output"',no_output
--啟動本機的MSDTC服務
--execmaster..xp_cmdshell'netstartmsdtc',no_output
--進行分布事務處理,如果表用標識列做主鍵,用下面的方法
--BEGINDISTRIBUTEDTRANSACTION
--同步刪除的數據
deletefromsrv_lnk.test.dbo.[user]
whereidnotin(selectidfrom[user])
--同步新增的數據
insertintosrv_lnk.test.dbo.[user]
selectid,number,namefrom[user]wherestateisnull
--同步修改的數據
updatesrv_lnk.test.dbo.[user]set
number=b.number,name=b.name
fromsrv_lnk.test.dbo.[user]a
join[user]bona.id=b.id
whereb.state=1
--同步後更新本機的標志
update[user]setstate=0whereisnull(state,1)=1
--COMMITTRAN
go
--創建作業,定時執行數據同步的存儲過程
ifexists(SELECT1frommsdb..sysjobswherename='數據處理')
EXECUTEmsdb.dbo.sp_delete_job@job_name='數據處理'
execmsdb..sp_add_job@job_name='數據處理'
--創建作業步驟
declare@sqlvarchar(800),@dbnamevarchar(250)
select@sql='execp_synchro'--數據處理的命令
,@dbname=db_name()--執行數據處理的資料庫名
execmsdb..sp_add_jobstep@job_name='數據處理',
@step_name='數據同步',
@subsystem='TSQL',
@database_name=@dbname,
@command=@sql,
@retry_attempts=5,--重試次數
@retry_interval=5--重試間隔
--創建調度
EXECmsdb..sp_add_jobschele@job_name='數據處理',
@name='時間安排',
@freq_type=4,--每天
@freq_interval=1,--每天執行一次
@active_start_time=00000--0點執行
go

閱讀全文

與mssqlmysql資料庫同步相關的資料

熱點內容
重生給明星老婆寫歌的小說 瀏覽:300
跟陌生人車震電影 瀏覽:231
win10越獄工具 瀏覽:980
什麼叫數據線移除 瀏覽:431
今泉浩一柏林漂流 瀏覽:805
帶肉的快穿小說 瀏覽:454
大數據挖掘模型 瀏覽:205
aqdygl 愛情電影網 瀏覽:648
殺手 帶著小女孩 瀏覽:951
小米2swin10刷機包 瀏覽:72
ps轉pdf文件太大 瀏覽:110
為什麼幸福里app房價這么便宜 瀏覽:447
自貢西城逸都為什麼不跟網站合作 瀏覽:66
新年影 瀏覽:138
大數據汽車時代 瀏覽:803
中英雙語字幕電影網站免費 瀏覽:739
看香港片免費的 瀏覽:432
聯想g450主板升級 瀏覽:52
閣樓偷窺像他母親的女人電影 瀏覽:315
伊麗莎白德比茨基露點電影 瀏覽:374

友情鏈接