2017-05-25 160 views
1

我正在研究我的項目:用於癌症數據預測的雲工具。但我不知道如何將MySQL本地數據庫與AWS雲數據庫同步。 我在我的Mac系統上開發了一個帶有MAMP堆棧的網站,該網站是一個病人管理系統,可用於插入,查詢,更新或刪除病人數據。我還設置了安裝有LAMP堆棧的AWS EC2實例。要求是:本地數據庫中的任何更改(包括插入,查詢,更新或刪除)都需要與雲數據庫同步,這意味着任何更改都可能觸發AWS MySQL數據庫的相應更改。任何人都可以請幫忙嗎?什麼是最好的解決方案?太感謝了!如何將mysql本地數據庫與AWS雲數據庫同步

回答

1

你有幾個選擇,因爲你在EC2上託管我會看看這些選項。如果您在AWS RDS上託管或者在EC2上託管某些東西,這種情況會有所變化。

  1. 設置服務器之間的MySQL複製。您的內部服務器可以充當主服務器,並將Web主機服務器充當從服務器。在主站上執行的任何更新都會立即複製到從站(假設有工作連接)。這很可能是最容易和最有效的選擇。要使用複製,您的內部數據庫需要通過網絡主機的網絡訪問。

你可以閱讀更多關於複製here

  1. 每天,您都可以在內部服務器上執行mysqldump,將轉儲文件上傳到Web主機並導入數據。由於這是一個完整的轉儲,如果你有一個非常大的數據庫,這可能是不可行的。如果你喜歡,這個程序可能會被編寫腳本以避免手動完成。

  2. 您可以在內部服務器上設置binary logging。然後,您可以將二進制日誌發送到Web主機並將其應用到數據庫,從而有效地播放當天發生的所有事務到Web服務器。實際上,無論如何,這是複製過程中發生的事情,所以您幾乎總是會使用複製設置而不是此選項。

如果兩個數據庫之間沒有連接,那麼每天使用mysqldump將是最簡單的路徑。

+0

謝謝,@Benloper我試圖通過方法1。但我發現我沒有公共的IP爲我的本地服務器。因此,也許我必須建立另一個具有公有IP的雲服務器。 – firjjg

+0

是的,你可以建立一個公共的mysql RDS數據庫,然後代理進去。您可能希望將類似MySQLWorkbench的內容同步到它,以便您可以更輕鬆地移動。 – Benloper

相關問題