2013-11-14 41 views
0

我正在運行一個主從服務器與多個奴隸。從主機到從機的複製過程正常工作。但是有一個問題:我需要將一個表中的內容從奴隸推送給主人。更新數據從奴隸到碩士在mysql

主表本身也使用相同的表,但是每個mysql服務器在表中都有自己的數據。因此,我需要將數據從從站添加到主站。

我想過要追蹤每個奴隸的查詢,然後將查詢推送給主人,但這看起來很亂,每當我得到一個錯誤時,我都會被卡住。

表看起來是這樣的:

服務器ID(鍵字段) - 日期(鍵字段) - 統計

每個服務器保持在他的服務器的統計信息的跟蹤和主需要整合所有這是爲了報告的目的。

任何想法?

+0

你真的需要鞏固在主從奴隸到同一個表這個數據?你認爲如何使用crontab + bash從複製中排除此表並將數據整合(從主服務器發送到從服務器並返回)? – ravnur

+0

我確實已經從複製中排除了它。我只需要將來自從站的數據更新爲該表的主數據。我現在正在考慮在從服務器上執行mysqldump,然後使用crontab將其推回到主服務器,而不是INSERT – user1914292

+0

,如果您無法避免寫入奴隸服務器,則可以使用整合,這很好。你也可以看看鎢複製器。您可以輕鬆設置slave-many主人(在這種情況下,您的主人將成爲奴隸,所有奴隸都將成爲主人)。你也一起去 – ravnur

回答

0

我最終用mysqldump轉儲表,然後通過crontab將它添加到master數據庫。

在這種情況下,我認識到使用mysqldump和replace選項很重要,因爲可能我已經有條目了。請注意,我使用的密鑰確保條目僅來自特定的從屬/主服務器,因此沒有服務器位於其他服務器的路徑中。

解決方案:

mysqldump -u xxx -pyyyy database table | mysql -h host -u xxxx -p yyy database