2008-08-06 44 views
19

目前我有兩臺運行MySQL的Linux服務器,一臺在10 Mbit/s上傳管道(主服務器)旁邊的一個機架上,另一個在幾米外的一個3 Mbit/s上傳管道上(鏡像) 。完整的MySQL數據庫複製?想法?人們做什麼?

我想能夠在兩臺服務器上連續複製數據,但遇到了幾個障礙。其中之一就是,在MySQL主/從配置下,偶爾會有一些語句放下(!),意思是說;某些登錄到鏡像URL的用戶看不到我知道在主服務器上的數據,反之亦然。假設這發生在每個月一次有意義的數據塊上,所以我可以忍受它並假設它是一個「丟失包」問題(即上帝知道,但我們會賠償)。

另一個最重要的(也是令人討厭的)反覆出現的問題是,當出於某種原因我們在一端進行主要上傳或更新(或重新啓動)並且必須鏈接到sever時,則LOAD DATA FROM MASTER不會工作,我必須在一端手動轉儲並在另一端上傳,現在相當一項任務是移動大約1.5TB的數據。

這是否有軟件?我知道MySQL(「公司」)將此作爲非常昂貴的服務(完全數據庫複製)提供。那裏的人做什麼?就其結構而言,我們運行自動故障轉移,如果一臺服務器未啓動,則主要URL將解析爲另一臺服務器。

+0

也許這可能是靈感:[http://www.howtoforge.com/loadbalanced_mysql_cluster_debian](http://www.howtoforge.com/loadbalanced_mysql_cluster_debian) – svrist 2008-08-06 19:12:45

回答

0

GoldenGate是一個很好的解決方案,但可能與M​​ySQL複製器一樣昂貴。

它基本上拖尾日記,並根據所承諾的內容應用更改。它們支持雙向複製(一項艱鉅的任務),以及異構系統之間的複製。

由於他們通過處理日誌文件來工作,他們可以在不影響源計算機上的性能的情況下執行大規模分佈式複製。

0

我從來沒有見過丟棄的聲明,但是有一個網絡問題可能導致中繼日誌損壞的錯誤。確保你不運行沒有此修復程序的MySQL。

記錄在5.0.56,5.1.24和6.0.5的更新日誌如下:

Network timeouts between the master and the slave could result 
    in corruption of the relay log. 

http://bugs.mysql.com/bug.php?id=26489

3

我們在Percona的提供免費的工具來檢測主機之間的差異和服務器,並通過重新應用最小的更改讓它們重新同步。

相關問題