用MySQL內建複製功能來最佳化可用性(轉)

ba發表於2007-08-16
用MySQL內建複製功能來最佳化可用性(轉)[@more@]在Soundbreak我們每天24小時不間斷地播放實況音訊和影片,所以對於MySQL的新增的複製特性,我們不能做出很令人信服的測試。透過測試我們發現,可以使用這個特性來與備份資料庫伺服器保持資料同步,這樣當主伺服器因為某種原因處理失效時,能夠使用備份機處理所有的查詢。對於這樣的要求,配置兩臺伺服器並不困難。我將詳細討論整個處理過程,同時討論一下當主伺服器失效時,如何使用PHP來重定向查詢。

MySQL內部複製功能是建立在兩個或兩個以上伺服器之間,透過設定它們之間的主-從關係來實現的。其中一個作為主伺服器,其它的作為從伺服器。我將詳細討論如何配置兩臺伺服器,將一個設為主伺服器,另一個設為從伺服器。並且描述一下在它們之間進行切換的處理過程。我是在MySQL的3.23.23版本上進行的配置設定過程,並且也是在這個版本上進行的測試。MySQL開發人員建議最好使用最新版本,並且主-從伺服器均使用相同的版本。同時MySQL 3.23版本仍然是beta測試版,而且這個版本可能不能向下相容。所以因為這個原因,在實際的網站中,我現在還沒有使用這個版本。擁有容錯能力具有一個好處是,在不需中斷任何查詢的情況下,對伺服器進行升級。

第一步:配置主伺服器

在這篇文章的剩下篇幅中,我將指定兩臺伺服器。A(IP為10.1.1.1)作為主伺服器(簡稱為主機)。B(IP為10.1.1.2)作為後備伺服器(簡稱為備機)。

MySQL的複製功能的實現過程為:備機(B)與主機(A)連線,然後讀出主機的二進位制更新日誌,再將發生的變化合併到自已的資料庫中。備機需要一個使用者帳號來與主機連線,所以在主機上建立一個帳號,並只給它FILE許可權,如下操作:
CODE:
GRANT FILE ON *.* TO replicate@10.1.1.2 IDENTIFIED BY 'password';

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-960928/,如需轉載,請註明出處,否則將追究法律責任。

用MySQL內建複製功能來最佳化可用性(轉)
請登入後發表評論 登入
全部評論

相關文章