美文网首页
MMM高可用MySQL方案

MMM高可用MySQL方案

作者: Hi_One | 来源:发表于2017-09-06 13:32 被阅读134次

    集群环境

    Monitor Centos7.2 192.168.1.88 MMM管理端
    Master1 Centos7.2 192.168.1.1 主Master可读,可写
    Master2 Centos7.2 192.168.1.2 备Master可读,可写
    Slave1 Centos7.2 192.168.1.3 Slave节点,只读
    Slave2 Centos7.2 192.168.1.4 Slave节点,只读

    虚拟IP

    192.168.1.10 writer IP 写入VIP
    192.168.1.20 reader IP 读取VIP
    192.168.1.30 reader IP 读取VIP
    192.168.1.40 reader IP 读取VIP

    操作步骤

    1.做时间同步
    2.Master1与Master2,互为主从进行复制
    3.Master1与Slave1与Slave2,进行主从复制
    4.Master2与Slave1与Slave2,进行主从复制
    (创建的复制账户需要一致账号: replication 密码: replication)

    MMM的安装与配置

    1. 安装epel源
      yum -y install epel-release

    2. 在Mnoitor管理节点上安装mysql-mmm-monitor
      yum -y install install mysql-mmm-monitor

    3. 在每一个Mysql节点上安装mysql-mmm-agent
      yum -y install mysql-mmm-agent

    MMM集群套件的配置

    1. 在所有mysql节点上的配置文件[mysql]段添加以下内容,并重启服务
    vim /etc/my.cnf
    [mysql]
    read_only=1       对所有非临时表进行只读控制
    wq!
    
    systemctl restart mariadb
    
    1. 在所有Mysql节点上创建MMM的两个账号
    mmm_monitor     对所有mysql节点进行健康检查
    mmm_agent       切换只读模式和同步Master信息
    mysql -u -p 
    12345
    mariadb> grant peplication client on *.* to 'mmm_monitor'@'192.168.1.%' identified by 'passwd';
    mariadb>grant super, replication client, process on *.* to 'mmm_agent'@'192.168.1.%' identified by 'passwd';
    
    1. 修改mmm_common.conf(5台相同)
    vim /etc/mysql-mmm/mmm_common.conf
    active_master_role      writer
    <host default>
        cluster_interface       ens33
        pid_path               /var/run/mysql-mmm/mmm_agentd.pid
        bin_path                /usr/libexec/mysql-mmm/
        replication_user        replication
        replication_password    replication
        agent_user              mmm_agent
        agent_password         passwd
    </host>
    <host db1>
        ip     192.168.1.1
        mode   master
        peer   db2
    </host>
    <host db2>
        ip     192.168.1.2
        mode   master
        peer   db1
    </host>
    <host db3>
        ip     192.168.1.3
        mode   slave
    </host>
    <host db4>
        ip     192.168.1.4
        mode   slave
    </host>
    <role writer>
        hosts  db1, db2
        ips    192.168.1.100
        mode   exclusive    #只有一个host可以writer,一般写操作是这个模式
    </role>
    <role reader>
        hosts  db3, db4
        ips    192.168.1.200,192.168.1.300
        mode   balanced     #多个host可以reader,一般读操作是这个模式
    </role>
    
    1. 修改4台Mysql节点上的mmm_agent.conf文件
    vim /etc/mysql-mmm/mmm_agent.conf
    include mmm_common.conf
    this db1                                             (其他上分别为db2 , db3 ,  db4)
    
    1. 在管理节点上修改配置mmm_mon.conf
    vim /etc/mysql-mmm/mmm_mon.conf
    include mmm_common.conf
    <monitor>
        ip                  127.0.0.1
        pid_path            /var/run/mysql-mmm/mmm_mond.pid
        bin_path            /usr/libexec/mysql-mmm
        status_path         /var/lib/mysql-mmm/mmm_mond.status
        ping_ips           192.168.1.1, 192.168.1.2, 192.168.1.3, 192.168.1.4    
    #真实数据库IP,来检测网络是否正常
        auto_set_online     10  #恢复后自动设置在线的时间
    </monitor>
    <host default>
        monitor_user        mmm_monitor
        monitor_password   passwd
    </host>
    debug 0
    
    1. 启动MMM集群服务
    在管理节点
    /etc/init.d/mysql-mmm-monitor   {start|stop|restart|condrestart|status}
    
    在agent节点
    /etc/init.d/mysql-mmm-agent  {start|stop|restart|condrestart|status}
    

    MMM集群日常维护
    查看MMM集群运行状态
    mmm_control show

    查看集群节点的运行状态
    mmm_control checks all

    查看某个节点的运行状态
    mmm_control checks db1

    相关文章

      网友评论

          本文标题:MMM高可用MySQL方案

          本文链接:https://www.haomeiwen.com/subject/eromjxtx.html