偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

用MySQL內(nèi)建復(fù)制功能來進(jìn)行優(yōu)化的實際操作

數(shù)據(jù)庫 MySQL
此文章主要是對用MySQL內(nèi)建復(fù)制功能來進(jìn)行優(yōu)化的實際操作步驟的描述,下面就是文章的具體內(nèi)容描述,望你會有所收獲。

以下的文章主要討論的是用MySQL內(nèi)建復(fù)制功能來進(jìn)行優(yōu)化的實際操作步驟,其中包括對主服務(wù)器的配置,配置備機的實際操作流程,以及創(chuàng)建相互的主從關(guān)系等相關(guān)內(nèi)容的具體描述,以下就是主要內(nèi)容描述。

MySQL內(nèi)部復(fù)制功能是建立在兩個或兩個以上服務(wù)器之間,通過設(shè)定它們之間的主-從關(guān)系來實現(xiàn)的。其中一個作為主服務(wù)器,其它的作為從服務(wù)器。

MySQL內(nèi)建復(fù)制功能來優(yōu)化可用性,在Soundbreak我們每天24小時不間斷地播放實況音頻和視頻,所以對于MySQL的新增的復(fù)制特性,我們不能做出很令人信服的測試。通過測試我們發(fā)現(xiàn),可以使用這個特性來與備份數(shù)據(jù)庫服務(wù)器保持?jǐn)?shù)據(jù)同步,這樣當(dāng)主服務(wù)器因為某種原因處理失效時,能夠使用備份機處理所有的查詢。對于這樣的要求,配置兩臺服務(wù)器并不困難。我將詳細(xì)討論整個處理過程,同時討論一下當(dāng)主服務(wù)器失效時,如何使用PHP來重定向查詢。

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

我是在MySQL的3.23.23版本上進(jìn)行的配置設(shè)置過程,并且也是在這個版本上進(jìn)行的測試。MySQL開發(fā)人員建議最好使用最新版本,并且主-從服務(wù)器均使用相同的版本。同時MySQL 3.23版本仍然是beta測試版,而且這個版本可能不能向下兼容。所以因為這個原因,在實際的網(wǎng)站中,我現(xiàn)在還沒有使用這個版本。擁有容錯能力具有一個好處是,在不需中斷任何查詢的情況下,對服務(wù)器進(jìn)行升級。

第一步:配置主服務(wù)器

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

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

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

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

請確定得到了所有數(shù)據(jù)庫,否則在進(jìn)行復(fù)制時,如果一個表在主機上存在但在備機上不存在,將因為出錯而退出。

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

第二步:配置備機

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

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

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

  1. master-user=replicate   
  2. master-password=password  

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

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

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

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

首先在B機上的my.cnf文件中,在[mysqld]部分中加入’log-bin’,接著重新啟動mysqld,然后創(chuàng)建可在

它的上面執(zhí)行復(fù)制功能的用戶帳號,使用: GRANT FILE ON *.* TO replicate@10.1.1.1 IDENTIFIED BY ’password’;

在B機上運行’FLUSH PRIVILEGES’命令,以便裝入在加入復(fù)制用戶后的新的授權(quán)表,接著回到A機上,在它的’my.cnf’中加入下面幾行: master-host=10.1.1.2

  1. master-user=replicate master-password=password  

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

以上的相關(guān)內(nèi)容就是對討論MySQL內(nèi)建復(fù)制功能來優(yōu)化可用性的介紹,望你能有所收獲。

【編輯推薦】

  1. MySQL常用技巧大匯總
  2. MySQL常用技巧都包括哪些?
  3. MySQL轉(zhuǎn)義字符的實際應(yīng)用
  4. 如何用PHP來實現(xiàn)MySQL備份?
  5. MySQL heap使用大匯總
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-05-12 13:45:25

Mysql 復(fù)制設(shè)置

2010-05-17 16:52:14

MySQL limit

2010-05-12 11:27:01

MySQL SQL

2010-05-27 16:12:10

MySQL索引

2010-05-26 14:06:44

MySQL查詢

2010-12-07 09:20:44

MySQL limit

2010-05-21 14:56:53

MySQL聯(lián)表查詢優(yōu)化

2010-05-17 13:28:15

MySQL 復(fù)制

2010-05-18 17:39:13

MySQL alter

2010-05-31 16:17:56

MySQL數(shù)據(jù)庫性能

2010-06-02 13:58:30

MySQL數(shù)據(jù)庫性能

2010-04-15 13:51:06

Oracle EBS

2010-06-13 15:52:36

MySQL 復(fù)制設(shè)置

2010-03-05 15:07:35

Python優(yōu)化圖片

2010-03-23 16:30:47

Python文件復(fù)制

2010-06-12 13:39:33

MySQL操作blob

2010-05-17 11:26:49

MySQL 多級同步

2010-05-25 16:31:23

MySQL配置

2010-05-26 16:53:21

MySQL show

2010-05-20 17:40:54

MySQL編碼
點贊
收藏

51CTO技術(shù)棧公眾號