我有一個使用MySQL存儲數據的Web應用程序。 網絡應用程序是內部的(不可通過互聯網)。跨數據庫的MySQL數據庫同步
我現在必須跨3個(也可能更多)地點(分支機構)部署此應用程序。 他們需要能夠同步數據(在一個位置創建的條目在其他分支位置可用)。
要求
- 每個位置讀取和本地寫入/爲自己的網絡上
- 數據庫同步每天一個(可能通過通過SSH腳本)的Web應用程序+ mysql數據庫的本地實例這樣每個地點都有相同的數據。
我能夠解決這個問題(迄今爲止)的唯一方法是創建UUID(唯一標識符)並用源位(用於起始位置)和同步位(新= 0 ,synced = 1),然後寫一個腳本,我每晚SSH SSH到每個位置,並添加=我的源和同步= 0到每個位置的行...我意識到這是蠻橫的,不是很優雅/可靠,但我不確定還有什麼要做。
客戶端擔心,如果互聯網連接失敗,他希望應用能夠在本地運行,但其他分支(通過夜間腳本或其他方式)仍然會同步。正如我所說,今年晚些時候總共有3個地點,可能還會有更多地點。
任何意見的建築將不勝感激。
PS。由於安全問題,我沒有將數據庫連接到互聯網。但我願意接受所有建議。
謝謝。
如果您的數據沒有刪除或更新,那麼每晚只需插入新行就可以了...但如果有更新或刪除操作,如果您嘗試執行操作,則會遇到很多麻煩它手工。檢查參考手冊中的'複製':http://dev.mysql.com/doc/refman/5.6/en/replication.html – Barranka 2013-03-26 21:50:38
正確。如果發生變化,將會帶來巨大的痛苦(即使沒有人預測到,這是一種危險的情況) – 2013-03-26 22:16:39