2013-03-09 75 views
3

我正在構建一個網站供客戶使用,它會存儲基本信息和項目或服務,以支付給我的公司。整個登錄+面板將在SSL/HTTPS下運行,但我主要關心的是數據庫複製,以防止任何事件丟失的事件。MySQL數據庫複製方法

因爲有些項目由我爲客戶託管,所以我需要一種方法來確保數據安全可靠。目前,我正在使用Media Temple GS服務,但將轉向DV服務,更多的客戶開始提取服務。

基於我個人的知識,我正在考慮像做硬盤一樣做一些事情。哪裏有主人,然後是奴隸。用SQL術語來說,將會有一個主(索引)數據庫,並且會有很少的從(緩存)數據庫。

但問題是,複製或備份Master到Slave上的最佳方式是什麼?我應該有更多的GS或DV服務器,還是使用同一臺服務器,但使用不同的DB名稱足夠好?

編輯 我做了一些周圍MT尋找,來到翻過那裏的MySQL GridContainer這似乎做同樣的,由於第2個服務器。這對於實現第二臺服務器是否是一個很好的選擇?

+0

將運行在服務器上的MySQL數據庫複製到運行在同一服務器上的另一個MySQL實例中沒有任何價值。配置正常的MySQL複製以將數據庫複製到其他服務器上非常簡單 - 您只需設置服務器可遠程使用的MySQL複製用戶即可。 – 2013-03-09 19:46:03

+1

@PhilipWhitehouse你不理解用於備份的複製。用於備份的複製允許您停止數據庫(從屬)並在不停止master數據庫的情況下進行完整備份。您可以使用同一臺機器,因爲從屬數據庫只是一個可以移動/複製到其他服務器的「快照」。 – Kamil 2013-03-09 20:16:50

+0

@Kamil我特地說「跑步」。快照完全不同。用戶正在談論現場緩存。 – 2013-03-09 20:40:38

回答

3

備份複製的想法是將數據庫複製到另一個數據庫,您可以停止並在您的生產數據庫正在運行時停止並創建停止的數據庫的完全備份。

您可以使用相同的服務器來創建備份文件,但請不要忘記,該備份會破壞服務器性能(硬盤負載)。另外 - 當數據庫很大,並且需要歷史備份文件時 - 您可能需要壓縮備份文件,而壓縮操作會完全破壞您的服務器性能。

無法避免第二臺服務器,因爲您必須將備份複製到另一臺計算機(在同一臺計算機上進行備份毫無意義)。

所以一般情況下 - 最好是複製到另一臺機器上,當主服務器出現故障時,這臺機器也可用於危機情況。

我發現很多有關高可用性MySQL解決方案的文章:link to mysql.com

+0

好吧MT確實提供了一個強大的SQL池。正如我所說的,它將會獲得提供數據可用性所需的輔助DV。但我不確定如何在目前的事件中做到這一點。 – Random 2013-03-09 21:35:06