程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 用MySQL內建復制來最佳化可用性(二)

用MySQL內建復制來最佳化可用性(二)

編輯:關於PHP編程

第一步:配置主服務器
  在這篇文章的剩下篇幅中,我將指定兩台服務器。A(IP為10.1.1.1)作為主服務器(簡稱為主機)。B(IP為10.1.1.2)作為後備服務器(簡稱為備機)。
  MySQL的復制功能的實現過程為:備機(B)與主機(A)連接,然後讀出主機的二進制更新日志,再將發生的變化合並到自已的數據庫中。備機需要一個用戶帳號來與主機連接,所以在主機上創建一個帳號,並只給它FILE權限,如下操作:
GRANT FILE ON *.* TO [email protected] IDENTIFIED BY "password";
  為了備機能夠與主機連接,要在主機上運行"FLUSH PRIVILEGES",不過不要擔心,因為我們將在下面的步驟中停掉服務器。
  現在我們需要主機數據庫的一個快照,並且對主機進行配置,允許生成二進制的更新日志。首先編輯"my.cnf"文件,以便允許二進制更新日志,所以在[mysqld]部分的下面某個地方增加一行:"log-bin"。在下一次服務器啟動時,主機將生成二進制更新日志(名為:$#@60;主機名$#@62;-bin.$#@60;增量序號#$#@62;)。為了讓二進制更新日志有效,關閉MySQL服務程序,然後將主機上的所有數據庫目錄到另一個目錄中,接著重新啟動mysqld。請確定得到了所有數據庫,否則在進行復制時,如果一個表在主機上存在但在備機上不存在,將因為出錯而退出。現在你已經得到了數據的快照,和一個從建立快照以來的二進制日志,上面記錄著任何對數據庫的修改。請注意MySQL數據文件(*.MYD,*.MYI和*.frm)是依賴於文件系統的,所以你不能僅僅進行文件傳輸,如從Solaris到Linux。如果你處於一個異種的服務器環境,你將不得不使用mysqldump實用程序或其它的定制腳本來得到數據快照。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved