真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL-MMM實(shí)現(xiàn)MySQL高可用-創(chuàng)新互聯(lián)

  • MMM (Master-Master replication manager for MySQL,MySQL 主主復(fù)制管理器)是一套支持雙主故障切換和雙主日常管理的腳本程序。MMM 使用 Perl 語(yǔ)言開發(fā),主要用來(lái)監(jiān)控和管理 MySQL Master-Master(雙主)復(fù)制,雖然也叫雙主復(fù)制,但是業(yè)務(wù)上同一時(shí)刻只允許對(duì)一個(gè)主進(jìn)行寫入,另一臺(tái)備選主上提供部分讀服務(wù),以加速在主主切換時(shí)備選主的預(yù)熱,可以說(shuō) MMM 這套腳本程序一方面實(shí)現(xiàn)了故障切換的功能,另一方面其內(nèi)部附加的工具腳本也可以實(shí)現(xiàn)多個(gè) Slave 的 read 負(fù)載均衡。

    龍華網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),龍華網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為龍華1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的龍華做網(wǎng)站的公司定做!
  • MMM提供了自動(dòng)和手動(dòng)兩種方式移除一組服務(wù)器中復(fù)制延遲較高的服務(wù)器的虛擬 ip,同時(shí)它還可以備份數(shù)據(jù),實(shí)現(xiàn)兩節(jié)點(diǎn)之間的數(shù)據(jù)同步等。由于 MMM 無(wú)法完全保證數(shù)據(jù)的一致性,所以 MMM 適用于對(duì)數(shù)據(jù)的一致性要求不是很高,但是又想大程度的保證業(yè)務(wù)可用性的場(chǎng)景。對(duì)于那些對(duì)數(shù)據(jù)的一致性要求很高的業(yè)務(wù),非常不建議采用 MMM 這種高可用架構(gòu)。

  • 關(guān)于 MMM 高可用架構(gòu)的說(shuō)明如下:
    mmm_mon:監(jiān)控進(jìn)程,負(fù)責(zé)所有的監(jiān)控工作,決定和處理所有節(jié)點(diǎn)角色活動(dòng)。此腳本需要在監(jiān)管機(jī)上運(yùn)行。
    mmm_agent:運(yùn)行在每個(gè) MySQL 服務(wù)器上的代理進(jìn)程,完成監(jiān)控的探針工作和執(zhí)行簡(jiǎn)單的遠(yuǎn)端服務(wù)shezhi.cijiaoben需要在被監(jiān)管機(jī)上運(yùn)行。
    mmm_control:一個(gè)簡(jiǎn)單的腳本,提供管理 mmm_mond 進(jìn)程的命令。
    mysql-mmm 的監(jiān)管端會(huì)提供多個(gè)虛擬 IP (VIP),包括一個(gè)可寫 VIP,多個(gè)可讀 VIP,通過(guò)監(jiān)管的管理,這些 IP 會(huì)綁定在可用 MySQL 之上,當(dāng)某一臺(tái) MySQL 宕機(jī)時(shí),監(jiān)管會(huì)將 VIP 遷移至其他 MySQL。

部署環(huán)境

主機(jī) 操作系統(tǒng) IP地址 VIP地址
mysql-m1主服務(wù)器CentOS 7.4 x86_64192.168.100.200192.168.100.100(Writer)
mysql-m2主服務(wù)器CentOS 7.4 x86_64192.168.100.201192.168.100.100(Writer)
mysql-monitorCentOS 7.4 x86_64192.168.100.204
mysql-m3從服務(wù)器CentOS 7.4 x86_64192.168.100.202192.168.100.101(Reader)
mysql-m4從服務(wù)器CentOS 7.4 x86_64192.168.100.203192.168.100.102(Reader)

開始部署

  • 安裝所需軟件包,修改配置文件(四臺(tái)MySQL服務(wù)器操作一致)
  1. 搭建ALI云源,安裝epel-release源。

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo    #下載ALI云源
    yum -y install epel-release    #安裝epel-release源
    yum clean all && yum makecache    #清空緩存,生成新的緩存文件
  2. 安裝 MariaDB 數(shù)據(jù)庫(kù),開啟服務(wù)(和MySQL同源,搭建步驟相同)

    yum -y install mariadb-server mariadb
    systemctl stop firewalld.service
    setenforce 0
    systemctl start mariadb
  3. 修改數(shù)據(jù)庫(kù)主配置文件,發(fā)往其他主機(jī)并啟動(dòng)服務(wù)器
    # vim /etc/my.cnf
    [mysqld]
    log_error=/var/lib/mysql/mysql.err    #錯(cuò)誤日志文件位置
    log=/var/lib/mysql/mysql_log.log    #訪問日志文件位置
    log_slow_queries=/var/lib/mysql_slow_queris.log    #慢日志文件位置
    binlog-ignore-db=mysql,information_schema    #不生成二進(jìn)制文件的庫(kù)
    character_set_server=utf8    #使用的字符集
    log_bin=mysql_bin    #二進(jìn)制日志文件功能
    server_id=1
    log_slave_updates=true    #開啟同步
    sync_binlog=1
    auto_increment_increment=2
    auto_increment_offset=1
    # scp /etc/my.cnf root@192.168.100.201:/etc
    # scp /etc/my.cnf root@192.168.100.202:/etc
    # scp /etc/my.cnf root@192.168.100.203:/etc
    # 注:另外三臺(tái)主機(jī)的配置文件里的server_id要做修改,保證不一致即可
  • 配置主主復(fù)制(m1和m2兩臺(tái)主服務(wù)器互相同步)
  • 查看對(duì)方的日志文件名稱和偏移值

    mysql> show master status;
  • 主服務(wù)器互相提升訪問權(quán)限(m1、m2服務(wù)器分別執(zhí)行)

    # mysql-m1
    grant replication slave on *.* to 'replication'@'172.168.100.%' identified by '123456';
    # 使用賬戶為replication 密碼為123456
    change master to master_host='172.168.100.201',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=245;
    # 當(dāng)在MariaDB-m1上執(zhí)行時(shí),master_host地址為MariaDB-m2地址
    ···
    # mysql-m2
    grant replication slave on *.* to 'replication'@'172.168.100.%' identified by '123456';
    change master to master_host='172.168.100.200',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=245;
    # 當(dāng)在MariaDB-m2上執(zhí)行時(shí),master_host地址為MariaDB-m1地址
  • 開啟同步,查看服務(wù)器的主從狀態(tài)

    start slave;
    show slave status\G;
    # Slave_IO_Running: Yes
    # Slave_SQL_Running: Yes
  • 配置m3、m4服務(wù)器作為從服務(wù)器

    show master status;
    # 查看m1服務(wù)器的日志文件以及偏移值(注意日志文件和偏移值的改變)
    # m1和m2互相同步,在此只需執(zhí)行m1即可
    change master to master_host='172.168.100.200',master_user='replication',master_password='123456',master_log_file='mysql_bin.000004',master_log_pos=245;
    # m3和m4上分別執(zhí)行
  • 分別查看m3和m4的主從狀態(tài)

    start slave;
    show slave status\G;
    # Slave_IO_Running: Yes
    # Slave_SQL_Running: Yes
  • 安裝配置MMM架構(gòu)
    前面我們使用wget配置了ALI云源并簡(jiǎn)易安裝 MariaDB 來(lái)代替 MySQL ,并搭建了主主同步,主從復(fù)制以便完成實(shí)驗(yàn),現(xiàn)在我們來(lái)完成MMM架構(gòu)

  • 安裝mysql-mmm,修改配置文件(五臺(tái)主機(jī)配置相同)

    # yum -y install mysql-mmm*     //前面我們配置了epel源,直接yum安裝
    # vim /etc/mysql-mmm/mmm_common.conf  //配置如下
    active_master_role      writer
    
    cluster_interface       ens33
    pid_path                /run/mysql-mmm-agent.pid
    bin_path                /usr/libexec/mysql-mmm/
    replication_user        replication
    replication_password    123456
    agent_user              mmm_agent
    agent_password          123456
    
    
    ip      172.168.100.200
    mode    master
    peer    db2
    
    
    ip      172.168.100.201
    mode    master
    peer    db1
    
    
    ip      172.168.100.202
    mode    slave
    
    
    ip      172.168.100.203
    mode    slave
    
    
    hosts   db1, db2
    ips     172.168.100.100
    mode    exclusive
    
    
    hosts   db3, db4
    ips     172.168.100.101, 172.168.100.102
    mode    balanced
    
  • 快速為其他主機(jī)修改配置文件

    scp mmm_common.conf root@192.168.100.200:/etc/mysql-mmm/
    scp mmm_common.conf root@192.168.100.201:/etc/mysql-mmm/
    scp mmm_common.conf root@192.168.100.202:/etc/mysql-mmm/
    scp mmm_common.conf root@192.168.100.203:/etc/mysql-mmm/
  • 在主機(jī)上修改mmm_agent.conf文件的名稱

    # vim /etc/mysql-mmm/mmm_agent.conf
    this db1  //按照規(guī)劃分別修改為db1、db2、db3、db4
  • 在所有主機(jī)上對(duì)mmm_agent、mmm_moniter進(jìn)行授權(quán)

    mysql> grant super, replication client, process on *.* to 'mmm_agent'@'192.168.100.%' identified by '123456';
    mysql> grant replication client on *.* to 'mmm_monitor'@'192.168.100.%' identified by '123456';
    # flush privileges;  //重新加載權(quán)限表
  • 配置監(jiān)控主機(jī)(在mysql-monitor上配置)

    # vim /etc/mysql-mmm/mmm_mon.conf
    include mmm_common.conf
    
    ip                  127.0.0.1
    pid_path            /run/mysql-mmm-monitor.pid
    bin_path            /usr/libexec/mysql-mmm
    status_path         /var/lib/mysql-mmm/mmm_mond.status
    ping_ips            172.168.100.200,172.168.100.201,172.168.100.202,172.168.100.203
    auto_set_online     10    #上線時(shí)間修改為10s
    # The kill_host_bin does not exist by default, though the monitor will
    # throw a warning about it missing.  See the section 5.10 "Kill Host
    # Functionality" in the PDF documentation.
    #
    # kill_host_bin     /usr/libexec/mysql-mmm/monitor/kill_host
    #
    
    
    monitor_user        mmm_monitor
    monitor_password    123456
    
    debug 0
  • 關(guān)閉防火墻及增強(qiáng)×××

    systemctl disable firewalld.service
    systemctl stop firewalld.service
    setenforce 0
  • 啟動(dòng)服務(wù),查看各節(jié)點(diǎn)狀態(tài)
    systemctl start mysql-mmm-monitor.service
    # ERROR: Can't connect to monitor daemon!,如若出現(xiàn)報(bào)錯(cuò),可嘗試重啟服務(wù)解決
    mmm_control check all
    # 檢查監(jiān)控服務(wù)器對(duì)所有主機(jī)的監(jiān)控是否完善
    # 檢查結(jié)果全部OK,則部署完成

至此,MySQL-MMM已經(jīng)部署成功,進(jìn)一步的話,我們可以結(jié)合Amoeba實(shí)現(xiàn)讀寫分離,Writer 的虛擬VIP可以寫入數(shù)據(jù)庫(kù),而 Reader 可以用來(lái)讀取數(shù)據(jù)。并通過(guò)Keepalived對(duì) monitor 服務(wù)器進(jìn)行雙機(jī)熱備。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


文章名稱:MySQL-MMM實(shí)現(xiàn)MySQL高可用-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://weahome.cn/article/dsseco.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部