mysql實時同步工具|sqlserver同步工具|常見的數(shù)據(jù)庫同步工具

請聯(lián)系QQ:1793040 索取軟件

SyncNavigator是一款功能強大的數(shù)據(jù)庫同步軟件,適用于SQL?SERVER, MySQL,具有自動/定時同步數(shù)據(jù)逼泣、無人值守、故障自動恢復(fù)舟舒、同構(gòu)/異構(gòu)數(shù)據(jù)庫同步拉庶、斷點續(xù)傳和增量同步等功能,支持Windows xp以上所有操作系統(tǒng)秃励,適用于大容量數(shù)據(jù)庫快速同步氏仗。

安裝包下載地址:https://www.syncnavigator.cn/Setup.zip

幫助文檔地址:https://www.syncnavigator.cn/Help_zh-CN.chm

Web文檔地址:https://www.syncnavigator.cn/chm/index.htm

創(chuàng)建第一個同步項目

使用 HKROnline SyncNavigator 創(chuàng)建一個數(shù)據(jù)庫同步項目。只需要通過簡單的配置夺鲜,創(chuàng)建完成后您可以隨時執(zhí)行數(shù)據(jù)庫同步任務(wù)皆尔。

1.點擊 “SyncNavigator(Client)” 圖標進入系統(tǒng)。

2.在登錄界面中輸入連接到的服務(wù)器地址币励,點擊 “確定” 按鈕開始連接慷蠕。

注意:這里不是登陸您的數(shù)據(jù)庫,而是登陸到本軟件的管理端食呻。

默認情況下直接點擊 “連接” 按鈕即可(本機默認已經(jīng)安裝)流炕。

默認服務(wù)器登錄用戶名為 “admin” 密碼為空。

本機服務(wù)器地址 = 127.0.0.1 仅胞。

您可以使用域名或者IP地址作為服務(wù)器地址每辟。如果指定了端口號可以使用 IP:Port 方式填寫。


3.切換到 “同步管理” 面板中點擊 “新建” 按鈕開始創(chuàng)建同步項目干旧。

4.首先切換到 “來源數(shù)據(jù)庫” 選項卡影兽。填寫同步的來源數(shù)據(jù)庫信息。

一般情況下只需要輸入數(shù)據(jù)庫地址莱革,數(shù)據(jù)庫名稱,登錄用戶名讹开,登錄密碼盅视。

數(shù)據(jù)庫地址: 連接到的數(shù)據(jù)庫地址〉┩颍可以是域名或者IP地址闹击。如果指定了端口號可以使用 IP:Port 方式填寫。

數(shù)據(jù)庫名稱: 使用的數(shù)據(jù)庫名稱成艘。如果已經(jīng)指定了默認的登錄數(shù)據(jù)庫可以為空赏半。

登錄用戶名: 登錄數(shù)據(jù)庫服務(wù)器使用的用戶名贺归。如果需要使用Windows賬戶登錄請變更 “登錄方式”

連接測試: 測試輸入的信息是否正確。如果連接失敗則會返回具體錯誤信息断箫。

5.切換到 “目標數(shù)據(jù)庫” 選項卡拂酣。以相同的方式填寫同步的目標數(shù)據(jù)庫。

您只需要創(chuàng)建一個新的目標數(shù)據(jù)庫仲义,軟件會自動創(chuàng)建最大兼容的表結(jié)構(gòu)婶熬。

如果您希望目標數(shù)據(jù)庫與來源數(shù)據(jù)庫表結(jié)構(gòu)完全一致,您只需要在目標數(shù)據(jù)庫創(chuàng)建一個空表結(jié)構(gòu)即可埃撵。

當(dāng)您使用 MySQL 作為來源數(shù)據(jù)庫時赵颅,同步的表至少需要一個主鍵。

目標數(shù)據(jù)庫不應(yīng)包含外鍵約束暂刘,因為它可能導(dǎo)致部分數(shù)據(jù)無法同步饺谬。

如果您的目標數(shù)據(jù)庫與來源數(shù)據(jù)庫結(jié)構(gòu)(如字段類型,約束)不兼容谣拣,這可能導(dǎo)致部分數(shù)據(jù)無法同步募寨。

假設(shè)您設(shè)置來源庫為 192.168.1.2 ,設(shè)置目標數(shù)據(jù)庫為 192.168.1.3, 那么數(shù)據(jù)將從192.168.1.2 同步到 192.168.1.3芝发。如果您的方向設(shè)置錯誤绪商,可能會導(dǎo)致數(shù)據(jù)被覆蓋辅鲸。

6.切換到 “同步內(nèi)容設(shè)置” 選項卡。選擇需要同步的數(shù)據(jù)庫表独悴。

如果需要設(shè)置每個表的具體內(nèi)容可以點擊 “詳細設(shè)置” 按鈕進行調(diào)整。

您可以設(shè)置條件過濾刻炒。比如只查詢評分大于90的表記錄决采,或者隱藏不需要同步的字段坟奥。

如果在這一個步驟未勾選任何表則不會同步任何內(nèi)容。

7.點擊 “確定” 按鈕完成項目設(shè)置爱谁。

8.切換到 “總控制臺” 面板中選擇需要開始同步的項目晒喷。點擊 “開始” 按鈕即可開始數(shù)據(jù)庫同步。

異構(gòu)數(shù)據(jù)庫/表同步細節(jié)

首先,打開軟件,切換到,同步管理,新建一個同步項目,在來源數(shù)據(jù)庫和目標數(shù)據(jù)庫設(shè)置好數(shù)據(jù)連接,以上內(nèi)容很簡單,不做贅述访敌。

下面主要講解一下同步內(nèi)容設(shè)置這里:

默認,在我們填寫好來源數(shù)據(jù)庫和目標數(shù)據(jù)庫爷抓,打開同步內(nèi)容設(shè)置界面,這里刷新出來的表都是來源數(shù)據(jù)庫里的表果复,我們根據(jù)所需要同步的表進行全選或者部分選擇,如下圖:

因為我們要同步到目標表結(jié)構(gòu)與這個來源表結(jié)構(gòu)不同唉地,那么怎么辦呢?

這時候极颓,我們雙擊這些來源表群嗤,打開詳細配置界面狂秘,進行同步方向映射,也就是把來源表里的字段或者表名稱進行定向映射到目標表結(jié)構(gòu)者春,如果是相同的表結(jié)構(gòu)就可以默認不打開特別設(shè)置钱烟,因為我們這里講的是異構(gòu)表結(jié)構(gòu)同步部分字段,所以需要打開設(shè)置詳情读第。

頂上目標表名稱那里填寫同步過去所在表的名稱拥刻,如果來源表和目標表名字都不一樣,這里需要寫目標名稱吴汪,不然會提示表不存在會創(chuàng)建新表蒸眠。

保持原有表結(jié)構(gòu)這里需要取消勾選,因為我們現(xiàn)在是同步異構(gòu)數(shù)據(jù)庫。

目標名稱(可寫*)這里是填寫目標表的字段名稱的臀晃,如果字段名一樣可以不寫,如果字段名不一樣徽惋,需要填寫新的名稱险绘。

同步條件那里基本可以理解成where后的參數(shù),比如可以寫 a > 100 宦棺,就會過濾table_1這個表中字段小于100的數(shù)據(jù)代咸。

另外字段可以勾選,不勾選的字段不會同步逻杖。

使用多來源默認是不勾選的思瘟,如果多個表數(shù)據(jù)進入到某一個表中,或者多個表中的不同字段進入到一個目標表中够话,可以勾選多來源.

勾選只新增的話就不會同步刪除或者修改的數(shù)據(jù)铡买,默認不勾選的,增刪改默認會同步澡为。

MYSQL管理的主從同步管理

MYSQL主從同步體系結(jié)構(gòu)當(dāng)前是最常用的數(shù)據(jù)庫體系結(jié)構(gòu)之一景埃,尤其是對于負載相對較大的網(wǎng)站,因此對于主從同步的管理也很重要拒啰。新手經(jīng)常不知道出現(xiàn)主從同步錯誤時如何啟動完慧。本文是根據(jù)自己的經(jīng)驗來詳細描述mysql主從管理。

MYSQL主從同步的作用

(1)册着?數(shù)據(jù)分配

(2)甲捏?負載平衡(負載平衡)

(3)?備份

(4)司顿?高可用性(高可用性)和容錯能力

MYSQL主從同步的原理

關(guān)于MYSQL的主從同步大溜,最重要的是了解MYSQL的主從同步如何工作,即大師從同步原理上猎提,下圖可以清楚地指導(dǎo)其工作過程:

通常描述該過程:從屬服務(wù)器的IO線程從主服務(wù)器獲取二進制日志并將其本地保存為中繼日志锨苏,然后通過SQL線程在從屬服務(wù)器上執(zhí)行中繼日志的內(nèi)容,以使從屬庫和主庫保持一致贞谓。主從同步的詳細過程如下:

1.葵诈?主服務(wù)器驗證連接。

2.理疙?主服務(wù)器為從屬服務(wù)器啟動線程泞坦。

3.?從服務(wù)器告訴主服務(wù)器主服務(wù)器日志的偏移量赃梧。

4.豌熄?主服務(wù)器檢查該值是否小于當(dāng)前的二進制日志偏移量锣险。

5.如果少于览闰,請通知服務(wù)器以獲取數(shù)據(jù)巷折。

6.從屬服務(wù)器繼續(xù)從主服務(wù)器獲取數(shù)據(jù),直到完成為止,此時從屬服務(wù)器線程進入睡眠狀態(tài)逊拍,主服務(wù)器服務(wù)器線程同時進入睡眠狀態(tài)际邻。

7.?更新主服務(wù)器后缨恒,將激活主服務(wù)器線程轮听,并將二進制日志推送到從服務(wù)器,然后通知從服務(wù)器線程進入工作狀態(tài)萧锉。

8.述寡?從服務(wù)器SQL線程執(zhí)行二進制日志鲫凶,然后進入睡眠狀態(tài)。

波附?

MYSQL主從同步構(gòu)造實戰(zhàn)

構(gòu)建主從同步是一項比較好的技術(shù)工作不恭,在早期做一些事情會使您將來會減少很多工作,并且在施工過程中需要注意一些問題折晦。在構(gòu)造過程中沾瓦,將在介紹需要注意的問題的同時介紹構(gòu)造谦炒,以便初學(xué)者可以在一開始就有效地避免一些潛在的問題(此處未介紹MYSQL安裝):

1.主從同步環(huán)境的介紹

操作系統(tǒng)環(huán)境:Centos 5.5 64位

MYSQL版本:MYSQL 5.1.50

主服務(wù)器的IP:10.1.1.75

來自服務(wù)器的IP:10.1.1.76

2.宁改?在主服務(wù)器上創(chuàng)建一個同步帳戶

GRANT REPLICATION SLAVE魂莫,F(xiàn)ILE ON *耙考。 *以”復(fù)制” @” 10.1.1。%”標識為” 123456″斗遏;

沖洗特權(quán)鞋邑;

注意:?設(shè)置權(quán)限時,不要將密碼設(shè)置得太簡單逾一!

3.视译?服務(wù)器配置文件中的更改

服務(wù)器ID = 2

復(fù)制野生-忽略-表= mysql。%

log-slave-updates#必要時可以打開

注意:

1)?服務(wù)器ID?此項目需要仔細檢查鄙早,并且不得與主服務(wù)器沖突椅亚,否則會出現(xiàn)莫名其妙的問題呀舔,因為它將根據(jù)?服務(wù)器ID?同步時>?服務(wù)器ID?相同的對象將不會被同步,否則可能導(dǎo)致無限循環(huán)?(?當(dāng)主/主同步或振鈴?fù)綍r?)?霜瘪。

2)惧磺??有些人會感到奇怪,為什么我在這里使用它?復(fù)制-野生-忽略表?不使用參數(shù)?plicate-do-db?或?復(fù)制-ignore-db?過濾需要過濾的數(shù)據(jù)庫被同步缤底,不需要同步的數(shù)據(jù)庫个唧。原因有以下幾種:

A.復(fù)制野生-忽略表?參數(shù)可以同步所有跨數(shù)據(jù)庫更新,例如?plicate-do-db?或?plicate-ignore-db?類似的將不會同步

使用mysql;

更新test.aaa SET數(shù)量=數(shù)量+ 10;

B.?plicate-wild-ignore-table = mysql犁河。%?當(dāng)將來需要添加同步數(shù)據(jù)庫時魄梯,可以輕松添加它無需重新啟動服務(wù)器的數(shù)據(jù)庫。因為將來可能需要同步其他數(shù)據(jù)庫。

3)允扇??auto_increment_increment?和?auto_increment_offset?參數(shù)则奥,這些?在主主同步中通常使用兩個參數(shù)來交錯自我-增量值?,防止鍵值沖突糊治。

4)-slave-skip-errors參數(shù)井辜,除非您非常確定自己在做什么管闷,否則不要隨意使用這些參數(shù)。使用這些參數(shù)時刷允,MYSQL將忽略這些錯誤碧囊,這將導(dǎo)致主服務(wù)器和從屬服務(wù)器之間的數(shù)據(jù)不一致糯而。

4.從主服務(wù)器獲取快照版本

如果您具有MYISAM或MYISAM和INNODB,請在主服務(wù)器上使用以下命令導(dǎo)出其中一臺服務(wù)器Snapshot :

mysqldump-uroot-p–lock-tables–events–triggers–routines–flush-logs–master-data = 2-數(shù)據(jù)庫測試\\ db.sql

如果僅嘗試使用INNODB土砂,則可以使用以下命令:

mysqldump-uroot-p-單事務(wù)–events–triggers–routines–flush-logs–master-data = 2-數(shù)據(jù)庫測試\\ db.sql

在這里,我們需要注意幾個參數(shù)的使用:

-單筆交易吴叶?此參數(shù)僅適用于innodb序臂。

-數(shù)據(jù)庫?然后是除mysql以外的所有數(shù)據(jù)庫的庫名逊彭。我這里只有一個測試庫侮叮。

-主數(shù)據(jù)悼瘾?參數(shù)記錄快照導(dǎo)出時mysql二進制日志的位置,以后將使用卸勺。

5.將快照版本還原到從屬服務(wù)器

mysqldump-uroot-p-h 10.1.1.76 test \ lt; db.sql

將快照版本還原到從屬服務(wù)器后烫扼,從屬服務(wù)器上的數(shù)據(jù)與主服務(wù)器上的數(shù)據(jù)相同服務(wù)器映企。

6.使用從屬服務(wù)器上的change master來與主服務(wù)器同步

使用grep命令查找二進制日志的名稱和位置

[root @ ns1]#grep-i”更改主服務(wù)器” db.sql

-將MASTER更改為MASTER_LOG_FILE =” mysql-bin.000006″,MASTER_LOG_POS = 106;

生成CHANGE MASTER語句芽淡,然后在從屬服務(wù)器上執(zhí)行

停止奴隸豆赏;掷邦?

將MASTER更改為MASTER_HOST =” 10.1.1.75″,MASTER_USER =”復(fù)制”或杠,MASTER_PASSWORD =” 123456″宣蔚,MASTER_LOG_FILE = ” mysql-bin.000006″认境,MASTER_LOG_POS = 106;

START SLAVE;

這樣就完成了主從同步的構(gòu)造叉信,并最終使用了SHOW SLAVE STATUS \\\\ G;查看Slave_IO_Running和Slave_SQL_Running的狀態(tài)艘希,如果兩者均為”是”覆享,則操作完成。

注意?:請勿在配置文件中寫入已同步的信息丑罪,這不方便管理凤壁,尤其是在需要重新啟動更改的情況下。

MYSQL主從同步管理

以下是一些用于管理MYSQL主從同步的命令:

1.停止MYSQL同步

停止從IO_THREAD; #Stop IO process

停止從SQL_THREAD; #stop SQL進程

停止奴隸徙鱼;针姿? #停止IO和SQL進程

2.啟動MYSQL同步

START SLAVE IO_THREAD; #開始IO進程

START SLAVE SQL_THREAD; #啟動SQL進程

START SLAVE ;距淫? #啟動IO和SQL進程

3.?重置MYSQL同步

RESET SLAVE;

用于使從屬服務(wù)器忘記其在主服務(wù)器的二進制日志中的復(fù)制位置蓬衡,它將刪除master.info和relay-log.info文件彤枢,以及所有中繼日志缴啡,并啟動新的中繼日志,您可以在不需要主服務(wù)器和從屬服務(wù)器時在從屬服務(wù)器上執(zhí)行此操作秒咐。否則,它將在將來進行同步攒钳,并可能覆蓋您的數(shù)據(jù)庫夕玩。我以前遇到過這么愚蠢的事情惊豺。哈哈!

4.揩页?查看MYSQL同步狀態(tài)

顯示從屬狀態(tài)爆侣;

此命令主要檢查Slave_IO_Running幢妄,Slave_SQL_Running,Seconds_Behind_Master乎赴,Last_IO_Error潮尝,Last_SQL_Error的值以掌握復(fù)制狀態(tài)勉失。

5.暫時跳過MYSQL同步錯誤

通常當(dāng)朋友mysql主從同步遇到錯誤(例如主鍵沖突等)時,我需要確保如果數(shù)據(jù)行是一致的顽素,請暫時跳過此錯誤徒蟆,然后您需要使用SQL_SLAVE_SKIP_COUNTER =后专??n?命令,n是跳過接下來的n個事件裸诽,例如我跳過一個事件丈冬,操作如下:

停止從動;

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;

START SLAVE;

6.從指定位置重新同步

有時主從同步出現(xiàn)問題往弓,您需要從日志位置的下一個位置進行同步蓄氧,這等效于跳轉(zhuǎn)該錯誤之后喉童,此時,只要找到相應(yīng)的LOG位置蔑担,也可以使用CHANGE MASTER命令來處理它咽白,例如:

將MASTER更改為MASTER_HOST =” 10.1.1.75″晶框,MASTER_USER =”復(fù)制”,MASTER_PASSWORD =” 123456″,MASTER_LOG_FILE = ” mysql-bin.000006″畴蒲,MASTER_LOG_POS = 106;

START SLAVE;

MYSQL主從同步管理經(jīng)驗介紹

1.对室?不要搞混SQL_SLAVE_SKIP_COUNTER命令掩宜。

跳過此命令后,您的主從數(shù)據(jù)可能會不一致辽旋。請務(wù)必記錄指定的錯誤补胚,然后檢查數(shù)據(jù)是否一致,尤其是核心業(yè)務(wù)數(shù)據(jù)骚腥。

2.瓶逃?結(jié)合percona-toolkit工具pt-table-checksum定期檢查數(shù)據(jù)是否一致厢绝。

這是DBA必須定期執(zhí)行的操作,是吧埠褪,為什么不使用正確的工具而不做呢钞速?另外嫡秕,percona-toolkit還提供了解決數(shù)據(jù)庫不一致性的方法昆咽,可以使用pt-table-sync,此工具不會更改主數(shù)據(jù)调违。您也可以使用pt-heartbeat查看從屬服務(wù)器的向后復(fù)制技肩。有關(guān)詳細信息浮声,請參見:http://blog.chinaunix.net/uid-20639775-id-3229211.html泳挥。

3.??使用plicate-wild-ignore-table選項代替using?復(fù)制數(shù)據(jù)庫?或?復(fù)制-ignore-db?剧浸。

上面已經(jīng)說明了原因。

4.將主服務(wù)器的日志模式調(diào)整為?混合?粤蝎。

5.每個表都有一個主鍵初澎,而主表密鑰對數(shù)據(jù)庫的同步會產(chǎn)生影響虑凛,尤其是在?R?OW?復(fù)制模式桑谍。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锣披,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子增热,更是在濱河造成了極大的恐慌胧辽,老刑警劉巖峻仇,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異邑商,居然都是意外死亡摄咆,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門人断,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吭从,“玉大人,你說我怎么就攤上這事恶迈∩穑” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵鸭廷,是天一觀的道長枣抱。 經(jīng)常有香客問我熔吗,道長,這世上最難降的妖魔是什么佳晶? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任桅狠,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘中跌。我一直安慰自己咨堤,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布漩符。 她就那樣靜靜地躺著一喘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嗜暴。 梳的紋絲不亂的頭發(fā)上凸克,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音闷沥,去河邊找鬼萎战。 笑死,一個胖子當(dāng)著我的面吹牛舆逃,可吹牛的內(nèi)容都是我干的蚂维。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼路狮,長吁一口氣:“原來是場噩夢啊……” “哼虫啥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起览祖,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤孝鹊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后展蒂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體又活,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年锰悼,在試婚紗的時候發(fā)現(xiàn)自己被綠了柳骄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡箕般,死狀恐怖耐薯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丝里,我是刑警寧澤曲初,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站杯聚,受9級特大地震影響臼婆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜幌绍,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一颁褂、第九天 我趴在偏房一處隱蔽的房頂上張望故响。 院中可真熱鬧,春花似錦颁独、人聲如沸彩届。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽樟蠕。三九已至,卻和暖如春靠柑,著一層夾襖步出監(jiān)牢的瞬間坯墨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工病往, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捣染,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓停巷,卻偏偏與公主長得像耍攘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子畔勤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354