<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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的MMM高可用架構測試_MySQL

        來源:懂視網 責編:小采 時間:2020-11-09 18:12:19
        文檔

        MySQL的MMM高可用架構測試_MySQL

        MySQL的MMM高可用架構測試_MySQL:bitsCN.com 一、架構模式(雙master零slave) ============================================================== ==============================================================---------------
        推薦度:
        導讀MySQL的MMM高可用架構測試_MySQL:bitsCN.com 一、架構模式(雙master零slave) ============================================================== ==============================================================---------------
        bitsCN.com 一、架構模式(雙master零slave)

        ==============================================================



        ==============================================================
        ---------------------[1] mmm_common.conf ——————–

        主機:
        功能 IP 主機名
        monitor 192.168.9.159 proxy
        DB db1 Server-id=1 192.168.5.157 fbfldb01
        db2 Server-id=2 192.168.9.158 fbfldb02
        虛擬ip:
        IP0 192.168.9.154 (Write)
        IP1 192.168.9.155 (Read)
        IP2 192.168.9.156 (Read)

        active_master_role writer

        cluster_interface eth0
        pid_path /var/run/mysql-mmm/mmm_agentd.pid
        bin_path /usr/libexec/mysql-mmm/
        replication_user slave
        replication_password slave
        agent_user mmm_agent
        agent_password RepAgent


        ip 192.168.9.157
        mode master
        peer db2


        ip 192.168.9.158
        mode master
        peer db1

        #
        # ip 192.168.100.51
        # mode slave
        #


        hosts db1, db2 #能夠作為writer的host
        ips 192.168.100.250 #writer的虛擬IP,應用的寫請求直接訪問這里的ip即可
        mode exclusive #只有兩種模式:exclusive是排他,在這種模式下任何時候只能一個host擁有該角色,balanced模式下可以多個host同時擁有此角色。一般writer是ex,reader是ba


        hosts db1, db2 #能夠作為reader的host
        ips 192.168.100.251, 192.168.100.252 #reader的虛擬IP,應用的讀請求直接訪問這里的ip即可
        mode balanced



        --------------------[2] mmm_mon.conf ———————–
        include mmm_common.conf

        ip 127.0.0.1
        pid_path /var/run/mmm_mond.pid
        bin_path /usr/lib/mysql-mmm/
        status_path /var/lib/misc/mmm_mond.status
        ping_ips 192.168.9.157, 192.168.9.158,192.168.9.254


        monitor_user mmm_monitor
        monitor_password RepMonitor

        debug 0

        ------------------------[4] mmm_agent.conf ——————–
        include mmm_common.conf
        this db1 #在DB1上就寫成這樣,DB2上就寫成this db2,寫錯了,將有一臺DB的mysql-mmm-agent開不起來!切記!

        查看狀態:
        [root@Proxy ~]# mmm_control show
        db1(192.168.9.157) master/ONLINE. Roles: reader(192.168.9.156), writer(192.168.9.154)
        db2(192.168.9.158) master/ONLINE. Roles: reader(192.168.9.155)
        [root@Proxy ~]# mmm_control checks
        db2 ping [last change: 2012/02/03 14:04:41] OK
        db2 mysql [last change: 2012/02/03 14:04:41] OK
        db2 rep_threads [last change: 2012/02/03 14:04:41] OK
        db2 rep_backlog [last change: 2012/02/03 14:04:41] OK: Backlog is null
        db1 ping [last change: 2012/02/03 14:04:41] OK
        db1 mysql [last change: 2012/02/03 14:04:41] OK
        db1 rep_threads [last change: 2012/02/03 14:04:41] OK
        db1 rep_backlog [last change: 2012/02/03 14:04:41] OK: Backlog is null
        [root@Proxy ~]# mmm_control mode
        ACTIVE

        模擬宕機切換:
        隨便找一個客戶端,執行寫操作:
        @client[root@mysql-1 ~]# vi /usr/local/mysql/binlog/inserting-into-db.sh
        #!/bin/bash
        while true;
        do
        mysql -ufbdb_user -pJc7ech-fB-me -h192.168.9.154 --database= fbdb -e "insert into test values(null);"
        sleep 1 ;
        done;
        [root@mysql-1 ~]# ./inserting-into-db.sh &

        可以看到兩個db中的binlog顯示的server id都是1,也就是說當前情況下db1是作為寫庫。
        停止db1
        [root@fbfldb01 ~]# /etc/init.d/mysqld stop
        Shutting down MySQL.. SUCCESS!
        立即恢復DB1后proxy上查看mmm集群狀態

        檢查mmmDB1的日志:
        [root@fbfldb01 binlog]# tail -f /var/log/mysql-mmm/mmm_agentd.log
        2012/02/03 17:46:10 FATAL Couldn't allow writes: ERROR: Can't connect to MySQL (host = 192.168.9.157:3306, user = mmm_agent)! Lost connection to MySQL server at 'reading initial communication packet', system error: 111
        2012/02/03 17:46:13 INFO We have some new roles added or old rules deleted!
        2012/02/03 17:46:13 INFO Deleted: reader(192.168.9.156), writer(192.168.9.154)
        2012/02/03 17:46:13 FATAL Couldn't deny writes: ERROR: Can't connect to MySQL (host = 192.168.9.157:3306, user = mmm_agent)! Lost connection to MySQL server at 'reading initial communication packet', system error: 111
        2012/02/03 17:59:48 INFO We have some new roles added or old rules deleted!
        2012/02/03 17:59:48 INFO Added: reader(192.168.9.155)
        2012/02/03 18:01:12 INFO We have some new roles added or old rules deleted!

        從日志可以看出,db1停止之后,mmm提示connect error,由于當前的寫庫是db1,于是mmm認為db2上的數據已經不能和db1保持一致了,故把db2的讀角色(reader)遷移到db1上。 變成了:
        db1(192.168.9.157) master/ONLINE. Roles: reader(192.168.9.155)
        db2(192.168.9.158) master/ONLINE. Roles: reader(192.168.9.156), writer(192.168.9.154)
        但是,若DB1未立即恢復工作,mmm的”mysql”檢查項在10秒后出現報警,認為db1已經徹底失敗,因此會把db1設置狀態為hard_offline,把db2從replication_fail狀態切換到online狀態(因為db2的mysql至少還活著)同時把上面的所有角色切換到db2上。狀態最 終變為:
        [root@Proxy mysql-mmm]# mmm_control show
        db1(192.168.9.157) master/HARD_OFFLINE. Roles:
        db2(192.168.9.158) master/ONLINE. Roles: reader(192.168.9.155), reader(192.168.9.156), writer(192.168.9.154)

        很顯然,當DB1或DB2中的其中一臺宕機之后,mmm都會立即將宕機的主機的角色全部轉換到另一臺DB。
        仔細分析Mmm的處理步驟大致是:
        db1的“mysql”check恢復正常,然后把db1切換到awaiting_recovery狀態。然后mmm判斷db6的宕機時間在正常范圍內,不屬于異常情況,因此自動切換為online狀態。
        把db2中的一個reader角色遷移到db1上。
        目前寫庫是db2。
        注:可以在exclusive 的中設置prefer=db1,這樣在db1恢復正常之后,就可以再次被切換為寫庫了。

        觀察整個切換過程發現,切換過程花費了15S!


        本文出自 “Centi.Linux” 博客 bitsCN.com

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

        文檔

        MySQL的MMM高可用架構測試_MySQL

        MySQL的MMM高可用架構測試_MySQL:bitsCN.com 一、架構模式(雙master零slave) ============================================================== ==============================================================---------------
        推薦度:
        標簽: 測試 mysql master
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久久久WWW免费人成精品| 豆国产96在线|亚洲| 亚洲精品无码午夜福利中文字幕 | 成年人网站在线免费观看| 亚洲AV无码一区二区乱孑伦AS| 久久亚洲最大成人网4438| 91精品视频免费| 国产 亚洲 中文在线 字幕| 免费国产黄线在线观看| 欧美日韩亚洲精品| 亚洲电影日韩精品| 国产一级a毛一级a看免费视频 | 91免费播放人人爽人人快乐| 中文字幕亚洲男人的天堂网络 | 亚洲精品夜夜夜妓女网| 国内精品免费在线观看| 亚洲网址在线观看| 麻豆国产精品入口免费观看| 美女视频黄频a免费| 亚洲精品成人网站在线观看| 1000部拍拍拍18勿入免费视频下载 | 高潮毛片无遮挡高清免费 | 久草免费福利资源站| 亚洲国产综合人成综合网站00| 182tv免费视频在线观看| 免费无遮挡无码永久在线观看视频 | 4444www免费看| 亚洲国产精品无码久久一区二区 | 巨胸喷奶水视频www免费视频| 日韩成人在线免费视频| 亚洲欧洲国产视频| 永久免费AV无码网站国产| 亚洲人成网站观看在线播放| 亚洲av第一网站久章草| 亚洲无线码一区二区三区| 人妖系列免费网站观看| 久久久久亚洲AV无码专区体验| 久久免费线看线看| 亚洲H在线播放在线观看H| 亚洲国产精品一区二区第一页免| 曰批全过程免费视频免费看 |