<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dict.CN 在線詞典, 英語(yǔ)學(xué)習(xí), 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統(tǒng)計(jì)

    留言簿(23)

    積分與排名

    優(yōu)秀學(xué)習(xí)網(wǎng)站

    友情連接

    閱讀排行榜

    評(píng)論排行榜

    MYSQL 主從服務(wù)器配置工作原理

    一、        主從配置的原理:
    Mysql的 
    Replication 是一個(gè)異步的復(fù)制過(guò)程,從一個(gè) Mysql instace(我們稱(chēng)之為 Master)復(fù)制到另一個(gè)
    Mysql instance(我們稱(chēng)之 Slave)。在 Master 與 Slave
    之間的實(shí)現(xiàn)整個(gè)復(fù)制過(guò)程主要由三個(gè)線程來(lái)完成,其中兩個(gè)線程(Sql線程和IO線程)在 Slave 端,另外一個(gè)線程(IO線程)在 Master
    端。
    要實(shí)現(xiàn) MySQL 的 
    Replication ,首先必須打開(kāi) Master 端的Binary
    Log(mysql-bin.xxxxxx)功能,否則無(wú)法實(shí)現(xiàn)。因?yàn)檎麄€(gè)復(fù)制過(guò)程實(shí)際上就是Slave從Master端獲取該日志然后再在自己身上完全
    順序的執(zhí)行日志中所記錄的各種操作。打開(kāi) MySQL 的 
    Binary Log 可以通過(guò)在啟動(dòng) MySQL Server 的過(guò)程中使用
    “—
    log-bin” 參數(shù)選項(xiàng),或者在 my.cnf 配置文件中的 mysqld 參數(shù)組([mysqld]標(biāo)識(shí)后的參數(shù)部分)增加
    log-bin” 參數(shù)項(xiàng)。
    MySQL 復(fù)制的基本過(guò)程如下:
    1. Slave 上面的IO線程連接上 Master,并請(qǐng)求從指定日志文件的指定位置(或者從最開(kāi)始的日志)之后的日志內(nèi)容;

    2. Master 接收到來(lái)自 Slave 的 IO 線程的請(qǐng)求后,通過(guò)負(fù)責(zé)復(fù)制的 IO
    線程根據(jù)請(qǐng)求信息讀取指定日志指定位置之后的日志信息,返回給 Slave 端的 IO
    線程。返回信息中除了日志所包含的信息之外,還包括本次返回的信息在 Master 端的 
    Binary Log 文件的名稱(chēng)以及在 Binary
    Log 中的位置;
    3. Slave 的 IO 線程接收到信息后,將接收到的日志內(nèi)容依次寫(xiě)入到 Slave 端的Relay
    Log文件(mysql
    -relay-bin.xxxxxx)的最末端,并將讀取到的Master端的bin-log的文件名和位置記錄到master-
    info文件中,以便在下一次讀取的時(shí)候能夠清楚的高速M(fèi)aster“我需要從某個(gè)bin
    -log的哪個(gè)位置開(kāi)始往后的日志內(nèi)容,請(qǐng)發(fā)給我”

    4. Slave 的 SQL 線程檢測(cè)到 Relay Log 中新增加了內(nèi)容后,會(huì)馬上解析該 Log 文件中的內(nèi)容成為在 Master
    端真實(shí)執(zhí)行時(shí)候的那些可執(zhí)行的 Query 語(yǔ)句,并在自身執(zhí)行這些 Query。這樣,實(shí)際上就是在 Master 端和 Slave
    端執(zhí)行了同樣的 Query,所以兩端的數(shù)據(jù)是完全一樣的。
    二、        設(shè)置mysql主從配置的優(yōu)點(diǎn):
    1、        解決web應(yīng)用系統(tǒng),數(shù)據(jù)庫(kù)出現(xiàn)的性能瓶頸,采用數(shù)據(jù)庫(kù)集群的方式來(lái)實(shí)現(xiàn)查詢負(fù)載;一個(gè)系統(tǒng)中數(shù)據(jù)庫(kù)的查詢操作比更新操作要多得多,通過(guò)多臺(tái)查詢服務(wù)器將 數(shù)據(jù)庫(kù)的查詢分擔(dān)到不同的查詢服務(wù)器上從而提高查詢效率。
    2、        Mysql數(shù)據(jù)庫(kù)支持?jǐn)?shù)據(jù)庫(kù)的主從復(fù)制功能,使用主數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的插入、刪除與更新操作,而從數(shù)據(jù)庫(kù)則專(zhuān)門(mén)用來(lái)進(jìn)行數(shù)據(jù)查詢操作,這樣可以將更新操作和 查詢操作分擔(dān)到不同的數(shù)據(jù)庫(kù)上,從而提高了查詢效率。
    三、        主從數(shù)據(jù)庫(kù)服務(wù)器的配置
    1、        主數(shù)據(jù)庫(kù)服務(wù)器的配置
    1)、修改mysql的配置文件(/etc/my.cnf)在配置文件中設(shè)置:
    server
    -id       = 1   ###每一個(gè)數(shù)據(jù)庫(kù)服務(wù)器都要制定一個(gè)唯一的server-id,通常主服務(wù)器制定為1。
    log-bin=mysql-bin     ###mysql進(jìn)行主從復(fù)制是通過(guò)二進(jìn)制的日志文件來(lái)進(jìn)行的,所以必須開(kāi)啟mysql的日志功能
    (這個(gè)是
    /etc/my.cnf的默認(rèn)配置,保持不變即可)
    2)、 GRANT REPLICATION SLAVE ON *.* TO ' replication'@'172.28.3.41' IDENTIFIED BY 'koncept';        #####給主數(shù)據(jù)庫(kù)服務(wù)器授予一個(gè)可以進(jìn)行復(fù)制的用戶,172.28.3.41為從服務(wù)器的IP,這樣從服務(wù)器就能有錢(qián)先來(lái)訪問(wèn)主數(shù)據(jù)庫(kù)服務(wù)器
    2、從數(shù)據(jù)庫(kù)服務(wù)器的設(shè)置
    修改數(shù)據(jù)庫(kù)配置文件
    /etc/my.cnf,配置如下內(nèi)容:
    #server
    -id      = 1  ####必須把server-id      = 1注釋掉,
    server
    -id       = 2  ####設(shè)置從的ID號(hào)
    master
    -host     =  172.28.3.43  #####設(shè)置主服務(wù)器的IP
    master
    -user     =   replication  #####設(shè)置連接主服務(wù)器的用戶名
    master
    -password =   concept     #####設(shè)置連接主服務(wù)器的密碼
    replicate-do-db=imtest0  ######設(shè)置你要同步的數(shù)據(jù)庫(kù),可以設(shè)置多個(gè)   
    ####就是我們前面建的用戶名和密碼,另外如果有端口號(hào)的變化還要配置端口
    master
    -port     =  <port> 配置成你設(shè)置的端口就OK了!
    3、分別重新啟動(dòng)主從服務(wù)器 #### 如果不重新啟動(dòng)主服務(wù)器在后面查看status的時(shí)候會(huì)出現(xiàn)問(wèn)題!
    4在從服務(wù)器上登錄mysql,輸入:show slave status\G  如果發(fā)現(xiàn)有:
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    就說(shuō)明已經(jīng)成功了,如果這兩個(gè)選項(xiàng)不全是Yes,那就說(shuō)明你錢(qián)面的某個(gè)配置錯(cuò)了,
    我做的時(shí)候沒(méi)有把主服務(wù)器重啟,就出現(xiàn)  Slave_IO_Running: NO。重啟后好了!
    四、        監(jiān)控服務(wù)器的狀態(tài)
    1、        監(jiān)控主服務(wù)器的狀態(tài)
    可通過(guò)show master status來(lái)監(jiān)控主服務(wù)器的狀態(tài),內(nèi)容如下:
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000003 |     1164 |              |                  |
    +------------------+----------+--------------+------------------+
    #####其中File表示日志文件記錄,Position表示日志文件的位置,這個(gè)也是數(shù)據(jù)庫(kù)執(zhí)行復(fù)制操作的必須標(biāo)識(shí),后面兩字段表示復(fù)制的數(shù)據(jù)庫(kù)名和 不復(fù)制的數(shù)據(jù)庫(kù)名,也可以在配置文件中你進(jìn)行配置。
    2、        監(jiān)控從服務(wù)器的狀態(tài)
    可以通過(guò):show slave status\G來(lái)查看,另外如果從數(shù)據(jù)庫(kù)在復(fù)制的過(guò)程中出現(xiàn)問(wèn)題,可以通過(guò)命令reset slave從數(shù)據(jù)庫(kù)服務(wù)器復(fù)制的線程,從數(shù)據(jù)庫(kù)服務(wù)器的通常操作命令有:
    start slave;  ####啟動(dòng)復(fù)制線程
    stop slave;  ####停止復(fù)制線程
    reset slave;  ####重置復(fù)制線程
    change master 
    to; ###動(dòng)態(tài)改變到主服務(wù)器的配置

    posted on 2011-03-29 14:30 都市淘沙者 閱讀(958) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): Oracle/Mysql/Postgres/

    評(píng)論

    # re: MYSQL 主從服務(wù)器配置工作原理 2013-12-27 15:58 test11

    很有幫助  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: 久久精品国产亚洲AV电影| 国产亚洲自拍一区| 亚洲人成影院在线高清| 久久精品成人免费国产片小草 | 免费国产草莓视频在线观看黄| 四虎免费在线观看| 亚洲精品国产精品| 国产免费怕怕免费视频观看| 亚洲国产成人无码AV在线| 日韩在线免费电影| 看Aⅴ免费毛片手机播放| 亚洲日本一区二区一本一道| 国产在线观看xxxx免费| 亚洲一区精品中文字幕| 91免费国产在线观看| 亚洲不卡影院午夜在线观看| 在线免费视频一区| 无码人妻一区二区三区免费视频| 精品亚洲视频在线观看| 久久久免费的精品| 亚洲国产成人精品激情| 国产zzjjzzjj视频全免费| 精品无码国产污污污免费网站国产 | 亚洲乱亚洲乱淫久久| 13一14周岁毛片免费| 亚洲精品无码成人片久久不卡| 亚洲Av无码国产情品久久 | 综合在线免费视频| 亚洲精品国产suv一区88| 亚洲精品国产V片在线观看| 日韩免费观看一区| 亚洲人av高清无码| 国产亚洲视频在线播放| 亚洲视频免费观看| 一级特黄录像免费播放中文版| 久久亚洲免费视频| 日本xxwwxxww在线视频免费| 国产无遮挡又黄又爽免费网站| 亚洲精品午夜久久久伊人| 亚洲国产综合人成综合网站| 中文字幕亚洲免费无线观看日本|