2014-11-23 141 views
1

我即將將網站從一個服務提供商遷移到另一個服務提供商。 之前的遷移由託管公司執行,這導致用戶數據/帖子/註冊發佈到2個不同服務器的相當大的問題,這取決於他們使用哪個DNS服務器。 之後合併數據庫非常困難,因爲在兩個數據庫上,自動增量值已經移到了合併2個數據庫的時候,主鍵/自動增量值重疊,導致該行不被導入/插入,或者行覆蓋前一個。遷移網站 - 在遷移期間保持數據庫同步

是否有辦法將...到達舊服務器的用戶重定向到新服務器以避免數據庫不同步。

是否有任何技巧/技巧我可以用來避免這種情況再次發生?

+0

嘿,如果我從一臺服務器遷移到另一臺服務器,我讓新的連接到舊的數據庫爲2天,以便這兩個工作在同一個數據庫,同時正在進行DNS更改。 – tkausl 2014-11-25 21:48:25

+0

我想到了類似的東西。我想到的是......好吧,只需將用戶從舊服務器重定向到新服務器,即可使用新服務器IP(但不知道我是否可以這樣做)。 如果我設置mysql主機名爲www.myserver.com,那麼..不會得到分裂的結果解決該網址的MySQL?使用IP是否安全? 我知道我的問題很混亂,但我不是一個真正的服務器人:) – 2014-11-25 22:47:59

回答

1

設置兩臺服務器並進行測試以確保它們都可以工作。

在新服務器(一個你切換到)代理的所有請求回舊服務器Apache的例子

ProxyPass/http://oldip:80/ 
ProxyPassReverse/http://oldip:80/ 

交換機的DNS在新的服務器指向。

等待24-48小時,確保所有流量正在通過新服務器路由到舊服務器。

刪除代理設置。 stop apache 做數據庫備份 發送給新服務器 恢復數據庫備份 啓動apache。

你可以編寫一個腳本來做到這一點。

要加快數據庫備份,你可以使用二進制日誌,所以你只需要傳輸更近的一個

當你的快樂新的服務器工作正常。停止運行舊服務器。

應該適用於少量的停機時間。

或者,減少對DNS的TTL(注:並非所有的DNS緩存方面,這如果小),等待改變 切換到新的服務器,具有較高的TTL,由於處理舊的TTL爲真小,大多數人不會受到影響。

或者,使當前站點只讀直到發生切換。