最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

MySQL新特性之復制特性的測試(1)

來源:懂視網 責編:小采 時間:2020-11-09 14:29:07
文檔

MySQL新特性之復制特性的測試(1)

MySQL新特性之復制特性的測試(1):MySQL內部復制功能是建立在兩個或兩個以上服務器之間,通過設定它們之間的主-從關系來實現(xiàn)的。其中一個作為主服務器,其它的作為從服務器。我將詳細討論如何配置兩臺服務器,將一個設為主服務器,另一個設為從服務器。并且描述一下在它們之間進行切換的處理
推薦度:
導讀MySQL新特性之復制特性的測試(1):MySQL內部復制功能是建立在兩個或兩個以上服務器之間,通過設定它們之間的主-從關系來實現(xiàn)的。其中一個作為主服務器,其它的作為從服務器。我將詳細討論如何配置兩臺服務器,將一個設為主服務器,另一個設為從服務器。并且描述一下在它們之間進行切換的處理

MySQL內部復制功能是建立在兩個或兩個以上服務器之間,通過設定它們之間的主-從關系來實現(xiàn)的。其中一個作為主服務器,其它的作為從服務器。我將詳細討論如何配置兩臺服務器,將一個設為主服務器,另一個設為從服務器。并且描述一下在它們之間進行切換的處理

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

第一步:配置主服務器

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

MySQL的復制功能的實現(xiàn)過程為:備機(B)與主機(A)連接,然后讀出主機的二進制更新日志,再將發(fā)生的變化合并到自已的數(shù)據(jù)庫中。備機需要一個用戶帳號來與主機連接,所以在主機上創(chuàng)建一個帳號,并只給它FILE權限,如下操作:

GRANT FILE ON *.* TO replicate@10.1.1.2 IDENTIFIED BY password;

為了備機能夠與主機連接,要在主機上運行FLUSH PRIVILEGES,不過不要擔心,因為我們將在下面的步驟中停掉服務器。

現(xiàn)在我們需要主機數(shù)據(jù)庫的一個快照,并且對主機進行配置,允許生成二進制的更新日志。首先編輯my.cnf文件,以便允許二進制更新日志,所以在[mysqld]部分的下面某個地方增加一行:log-bin。在下一次服務器啟動時,主機將生成二進制更新日志(名為:<主機名>-bin.<增量序號#>)。為了讓二進制更新日志有效,關閉MySQL服務程序,然后將主機上的所有數(shù)據(jù)庫目錄到另一個目錄中,接著重新啟動mysqld。

請確定得到了所有數(shù)據(jù)庫,否則在進行復制時,如果一個表在主機上存在但在備機上不存在,將因為出錯而退出?,F(xiàn)在你已經得到了數(shù)據(jù)的快照,和一個從建立快照以來的二進制日志,上面記錄著任何對數(shù)據(jù)庫的修改。請注意MySQL數(shù)據(jù)文件(*.MYD,*.MYI和*.frm)是依賴于文件系統(tǒng)的,所以你不能僅僅進行文件傳輸,如從Solaris到Linux。如果你處于一個異種的服務器環(huán)境,你將不得不使用mysqldump實用程序或其它的定制腳本來得到數(shù)據(jù)快照。

第二步:配置備機

讓我們繼續(xù)。停掉備機上的MySQL服務程序,并且把從主機上拷貝來的數(shù)據(jù)庫目錄移到備機上的data目錄下。請確認將目錄的擁有者和屬組改變?yōu)镸ySQL用戶相應值,并且修改文件模式為660(只對擁有者和屬組可讀、可寫),目錄本身為770(只對擁有者和屬組可讀、可寫和可執(zhí)行)。

繼續(xù)。在備機上啟動MySQL服務程序,確認MySQL工作正常。運行幾個select查詢(不要update或insert查詢),看一看在第一步中得到的數(shù)據(jù)快照是否成功。接著,在測試成功后關掉MySQL服務程序。

在備機上配置需要訪問的主機,以便接收主機的更改。所以需要編輯務機上的my.cnf文件,在[mysqld]部分中增加下面幾行:

master-host=10.1.1.1 master-user=replicate master-password=password

在啟動備機服務程序后,備機服務程序將查看在my.cnf文件中所指定的主機,查看是否有改變,并且將這些改變合并到自已的數(shù)據(jù)庫中。備機保持了主機的更新記錄,這些記錄是從主機的master.info文件中接收下來的。備機線程的狀態(tài)可以通過sql命令SHOW SLAVE-STATUS看到。在備機上處理二進制日志中如果發(fā)生錯誤,都將導致備機線程的退出,并且在*.err的日志文件中生成一條信息。然后錯誤可以被改正,接著可以使用sql語句SLAVE START來重新啟動備機線程。線程將從主機二進制日志處理中斷的地方繼續(xù)處理。

至此,在主機上所發(fā)生的數(shù)據(jù)改變應該已經復制到備機上了,要測試它,你可以在主機上插入或更新一條記錄,而在備機上選擇這條記錄。

現(xiàn)在我們擁有了從A機到B機的這種主-從關系,這樣當A機可能當機的時候,允許我們將所有的查詢重定向到B機上去,但是當A機恢復時,我們沒有辦法將發(fā)生的改變恢復到A機中去。為了解決這個問題,我們創(chuàng)建從B機到A機的主-從關系。

第三步:創(chuàng)建相互的主從關系

首先在B機上的my.cnf文件中,在[mysqld]部分中加入log-bin,接著重新啟動mysqld,然后創(chuàng)建可在它的上面執(zhí)行復制功能的用戶帳號,使用:

GRANT FILE ON *.* TO replicate@10.1.1.1 IDENTIFIED BY password;

在B機上運行FLUSH PRIVILEGES命令,以便裝入在加入復制用戶后的新的授權表,接著回到A機上,在它的my.cnf中加入下面幾行:

master-host=10.1.1.2
master-user=replicate
master-password=password

在重啟A機的服務程序之后,現(xiàn)在我們一擁有了在A機與B機之間的相互主-從關系。不管在哪個服務器上更新一條記錄或插入一條記錄,都將被復制到另一臺服務器上。要注意的是:我不敢確定一個備機合并二進制日志變化的速度有多快,所以用這種方法來進行插入或更新語句的負載平衡可能不是一個好辦法。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

MySQL新特性之復制特性的測試(1)

MySQL新特性之復制特性的測試(1):MySQL內部復制功能是建立在兩個或兩個以上服務器之間,通過設定它們之間的主-從關系來實現(xiàn)的。其中一個作為主服務器,其它的作為從服務器。我將詳細討論如何配置兩臺服務器,將一個設為主服務器,另一個設為從服務器。并且描述一下在它們之間進行切換的處理
推薦度:
標簽: 復制 復制的 測試
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top