使用內建複製功能來最佳化可用性

2021-04-17 06:14:22 字數 1158 閱讀 9381

使用mysql內建複製功能來最佳化可用性

2001-10-0521:31

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

第一步:配置主伺服器

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

mysql的複製功能的實現過程為:備機(b)與主機(a)連線,然後讀出主機的二進位制更新日誌,再將發生的變化合併到自已的資料庫中。備機需要乙個使用者帳號來與主機連線,所以在主機上建立乙個帳號,並只給它file許可權,如下操作:

grantfileon*.*[email protected];

為了備機能夠與主機連線,要在主機上執行flushprivileges,不過不要擔心,因為我們將在下面的步驟中停掉伺服器。

現在我們需要主機資料庫的乙個快照,並且對主機進行配置,允許生成二進位制的更新日誌。首先編輯my.cnf檔案,以便允許二進位制更新日誌,所以在[mysqld]部分的下面某個地方增加一行:log-bin。在下一次伺服器啟動時,主機將生成二進位制更新日誌(名為:《主機名》-bin.《增量序號#>)。為了讓二進位制更新日誌有效,關閉mysql服務程式,然後將主機上的所有資料庫目錄到另乙個目錄中,接著重新啟動mysqld。

請確定得到了所有資料庫,否則在進行複製時,如果乙個表在主機上存在但在備機上不存在,將因為出錯而退出。現在你已經得到了資料的快照,和乙個從建立快照以來的二進位制日誌,上面記錄著任何對資料庫的修改。請注意mysql資料檔案(*.myd,*.myi和*.frm)是依賴於檔案系統的,所以你不能僅僅進行檔案傳輸,如從到。如果你處於乙個異種的伺服器環境,你將不得不使用mysqldump實用程式或其它的定製指令碼來得到資料快照。1

使用MySQL內建複製功能

mysql內部複製功能是建立在兩個或兩個以上伺服器之間,通過設定它們之間的主 從關係來實現的。其中乙個作為主伺服器,其它的作為從伺服器。本節將詳細討論如何配置兩台伺服器,將乙個設為主伺服器,另乙個設為從伺服器。並且描述一下在它們之間進行切換的處理過程。本節是在mysql的3.23.25版本上進行的配...

使用UIView類提供的功能來顯示動畫的例子

上乙個文件,我演示了timer的使用,並且形成了乙個動畫,但是這個動畫可擴充套件性不好,我們需要更好的動畫實現技術,這裡uiview類提供了一些基本的功能。2.加入乙個小的,我用的是乙個circle.png,長和寬都不要大於100.3.在viewcontroller.xib上面做如下布局 4.vie...

請使用命令列展開功能來完成以下練習

建立 tmp目錄下的 a c,a d,b c,b d root localhost tmp mkdir 建立 tmp mylinux目錄下的 檔案的元資料資訊有哪些,分別表示什麼含義,如何檢視?如何修改檔案的時間戳資訊。1.使用stat命令檢視 2.root localhost mytest3 st...