Mysql

拆分現有 LAMP 以擁有單獨的網路伺服器和數據庫

  • May 31, 2012

我有一個正在執行的 LAMP 伺服器。由於數據庫的壓力太大,它已經失敗了很多。我想從那里拆分數據庫並在單獨的機器上執行它。我目前已經在伺服器上執行了大約 100 個網站。

這是我的計劃: 1. 設置一個新伺服器,在伺服器上安裝 mysql 2. 在網路伺服器上,打開 3306 埠作為新伺服器上 3306 的 iptunnel

這是可取的還是最好通過手動將腳本中的數據庫伺服器更改為另一個?

如果我要這樣做,大概我必須調整數據庫中的所有使用者以允許現在從網路伺服器進行訪問,對吧?

想法?

您錯過了重要的一點:傳輸所有數據。在不停機的情況下做到這一點是很困難的(儘管並非不可能,特別是如果你願意涉足 MySQL 多主複製這個陰暗的世界),如果你願意在一些停機時間中倖存下來,你可以一舉搞定,或逐個數據庫(如果您有許多單獨的數據庫,這可能是用小型、低價值站點測試遷移計劃的好方法,而不是把所有東西都搞得一團糟)。

就命名而言,答案是服務 CNAME——一個 CNAME ‘db’ 或 ‘mysql’ 或其他東西,它指向您的數據庫伺服器。

如果您正在進行一次大轉換(或者您只有一個數據庫),請立即設置此 CNAME並指向 127.0.0.1,然後開始更改所有腳本以使用 CNAME。Search-n-replace 或任何需要的東西(如果 - 聽起來像 - 你已經在許多單獨的腳本中硬編碼你的數據庫資訊,如果你不得不這樣做,也可以藉此機會集中這種配置將來會再次發生類似的事情),但實際上沒有將任何數據移動到新伺服器。一旦一切都通過 CNAME 執行,那麼您就可以開始四處移動,並且在維護結束時更改 CNAME 比在維護視窗中更改一千個腳本要容易得多。

引用自:https://serverfault.com/questions/289312