這是一個自由職業者的方法問題,在MySQL上有推論。有沒有一種方法可以從舊的專用服務器遷移到新的而不會丟失任何數據 - 而且沒有停機時間?在過去,我必須在新服務器啓動(即所有文件傳輸,系統啓動和準備就緒)以及舊服務器關閉(數據仍舊傳輸至舊的時間)之間丟失MySQL數據一個接管)。還有一個短暫的時間段,這兩個時間段都會因爲DNS等而更新。最好的方式來遷移服務器,而不會丟失任何數據,沒有停機時間(?)
有沒有一種方法讓MySQL/root輕鬆傳輸在特定時間段內更新/插入的所有數據?
這是一個自由職業者的方法問題,在MySQL上有推論。有沒有一種方法可以從舊的專用服務器遷移到新的而不會丟失任何數據 - 而且沒有停機時間?在過去,我必須在新服務器啓動(即所有文件傳輸,系統啓動和準備就緒)以及舊服務器關閉(數據仍舊傳輸至舊的時間)之間丟失MySQL數據一個接管)。還有一個短暫的時間段,這兩個時間段都會因爲DNS等而更新。最好的方式來遷移服務器,而不會丟失任何數據,沒有停機時間(?)
有沒有一種方法讓MySQL/root輕鬆傳輸在特定時間段內更新/插入的所有數據?
我會做一個抱歉的頁面,把它放在舊的服務器上,將所有數據傳輸到新的,然後切換DNS。雖然會有停機。
有沒有辦法建立一個「全球抱歉頁」 - 許多不同的PHP /其他腳本在服務器上的多個域上的多個目錄中啓動了大量的mysql進程... – ina 2010-06-07 11:04:38
我會做一個簡單的mod_rewrite規則來重定向所有請求對所有域 – 2010-06-07 11:12:33
當然。在源服務器上啓用bin日誌記錄。在啓動之後,進行數據庫轉儲並將其轉移到新服務器並導入。然後,當您準備好進行切換時,請更改DNS(讓您在工作時傳播更改),然後在兩臺服務器上關閉該站點。將binlogs複製到新服務器,並從轉儲日期/時間開始再次運行它們。
感謝抱歉頁面是這樣的,我的MySQL數據庫是〜2GB到目前爲止,所以至少有半小時的停機時間之間傳輸數據庫。有沒有辦法選擇/轉儲所有db/table中已修改的條目? – ina 2010-06-11 11:05:26
我喜歡做的是關閉網站並開始使用以下命令將DB移動到其他服務器:2,然後將所有文件(php ..etc)移動到其他服務器(如果您有一些商店數據或更改文件每小時,如圖像上傳)。並在DNS更改爲全部到新服務器時將舊服務器指向新的數據庫服務器。
最長的停機時間來自DNS開關 - 可能需要幾個小時甚至幾天,直到所有客戶端緩存過期。
避免:
slave
到舊的,在引擎蓋下它只是從主機即時下載binlog,您可以節省傳輸整個日誌的時間,最有可能的是在最小負載時,從設備將在主設備後面幾秒鐘,並且在應用程序被取下時會很快趕上,請參閱how to force slave to catch up。此外,如果您使用文件上傳到本地文件系統 - 這些文件需要同步,並且在大量文件上比使用db更加痛苦,因爲即使rsync掃描更改也需要很長時間。
12-24小時內mySQL-wise會有多少活動? – 2010-06-07 10:59:12