最近一直在研究數據庫同步的問題,在網上查了很多資料,也請教了很多人,找到了一種通過快照復制的方法。研究了一番后發現之前就是用的這個方法,效果不是很好,果斷放棄。經過了一番尋覓和他人指點,最后從一位熱心網友那里得知一款很好用的軟件—— SyncNavigator。
好東西就要拿出來跟大家分享,所以今天向大家介紹一下這款軟件,及其一些使用方法。下面先看看它有什么強大的功能吧!
SyncNavigator的基本功能:
自動同步數據/定時同步數據
無論是實時同步/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或以上。
- 緩存數據庫結構: 當您正式部署項目后,可以勾選此選項以提高同步速度。
- 對超大型數據庫進行優化: 當您正式部署項目后,可以勾選此選項以提高同步速度。