2011-10-27 35 views
2

我在共享服務器上安裝了MySQL,並通過phpMyAdmin訪問。我想將該數據庫連續的實時克隆到雲mySQL數據庫(我們已經爲此數據庫創建了一個專用於Nginx的MySQL服務器)我想創建一箇舊的克隆,然後將代碼更新爲指向新的數據庫...如何在共享主機上連續克隆mySQL

回答

1

我認爲在共享服務器環境中實時複製MySQL會有困難。由於您似乎在移動數據庫服務器,因此我傾向於對數據執行熱備份,並將其安裝到新的數據庫服務器上。在獲取該副本的同時,您應該在應用程序上打開查詢日誌記錄。

您的切換將包括對新數據庫運行記錄查詢(比他們記錄的更快!),最後,在所有記錄的查詢已運行的時刻,切換應用程序的配置,以便新db被使用。

編輯:熱複製的問題是數據在被複制的同時被寫入數據庫。這意味着每個表格的「上次更新」時間都會有所不同。在此基礎上,您的應用程序是否可以爲每一行設置「last_updated」列?如果是這樣,你將能夠告訴每個表仍然需要複製哪些記錄查詢。

+0

我將嘗試複製。我將不得不每10分鐘開始一次複製數據庫。當幾天後,我知道他們與延遲10分鐘同步,然後我將上傳新的FTP文件並覆蓋應該需要10分鐘左右的時間。我將不得不手動做一些修補。 – TheBlackBenzKid

+2

如果你成功了,請將它記錄下來並放到網上 - 這對於很多人都是有用的,我估計!此外,如果上述情況證明是一種痛苦,不要忘記,如果您提前告知用戶並仔細選擇時間,可能會有一些宕機。 – halfer

+0

沒問題..... – TheBlackBenzKid

1

您正在尋找的是複製。它在單個帖子中涵蓋了很多選項。

http://dev.mysql.com/doc/refman/5.5/en/replication.html

如果你打算做複製了,你會想,以確保it.Your主機可能允許一個虛擬局域網,因此這不會佔用你的帶寬資源的網絡連接。

來自Percona的一個偉大的工具集,你應該看看是maatkit

https://launchpad.net/percona-toolkit

文檔和使用示例 http://www.maatkit.org/doc/

這是很好的執行其他任務,但它也可以讓你複製一個活數據庫很快。

當您使用實時數據庫時,請確保您的備份是最新的。