mysql系列之--------mmm高可用集群

mmm高可用集群介绍:

 高可用集群介绍:主备模式,当主不能提供服务的时候备用主机接替它提供服务。

这个过程对于客户端是透明的。

一、前期准备工作

1、准备五台linux服务器:主(192.168.4.122),主备(192.168.4.123)

从(192.168.4.126),从(192.168.4.127),管理主机(192.168.4.128)

四台主机做主从的用户名:tongbu,密码:123456

2、主和主备做成相互的主从模式,两台从服务器做成主备的从

3、IP规划,write-vip=192.168.4.100,read-vip=192.168.4.101/192.168.4.102

二、安装配置 Mysql-mmm

1、安装:首先安装依赖包:yum -y install perl-*

  cd mysql-mmm-2.2.1/       

  make install     //进入解压后的目录,然后直接安装

2、配置文件说明:cd /etc/mysql-mmm

 mmm_agent.conf             //数据节点主机文件(四台mysql服务器)

 mmm_common.conf       //公共配置文件 (五台主机都需要)

 mmm_mon.conf            //管理主机文件(192.168.4.128)

 mmm_tools.conf           //管理工具

3、修改数据节点的配置文件:mmm_agent.conf(四台mysql服务器修改)

  include mmm_common.conf    //加载文件

 this db1      //定义在集群中的名称

名称规划:根据角色和ip地址来命名

master122,master123,slave126,slave127

4、修改管理节点的配置(192.168.4.128)mmm_mon.conf

1 include mmm_common.conf

 2 

 3 <monitor>

 4         ip                      192.168.4.128                               //监控本机的IP地址

 5         pid_path                /var/run/mmm_mond.pid

 6         bin_path                /usr/lib/mysql-mmm/

 7         status_path             /var/lib/misc/mmm_mond.status

 8         ping_ips                192.168.4.122, 192.168.4.123, 192.168.4.126, 192.168.4.127 //被监控的IP地址

 9 </monitor>

10 

11 <host default>

12         monitor_user                    monitor   //监控数据库的用户名,用来监测四台数据库服务是否正常

13         monitor_password            123456   //上面的用户名需在122那台主机上添加授权

14 </host>

5、修改公共配置文件:mmm_common.conf(五台主机都需要)

在一台主机上修改,然后传送给其它四台主机

active_master_role      writer

<host default>

      cluster_interface           eth0

      pid_path                       /var/run/mmm_agentd.pid

      bin_path                       /usr/lib/mysql-mmm/

      replication_user             tongbu     //本机用于主从同步的用户

      replication_password     123456

     agent_user                     agent     //代理程序去检测的用户名

     agent_password             123456

</host>

<host master122>

     ip                              192.168.4.122

     mode                         master     //模式

     peer                           master123  //身份对等的主机

</host>

<host master123>

     ip                              192.168.4.123

     mode                         master

     peer                           master122

</host>

<host slave126>

     ip                              192.168.4.126

     mode                         slave

</host>

<host slave127>

     ip                              192.168.4.127

     mode                         slave

</host>

<role writer>

    hosts                         master122, master123

    ips                             192.168.4.100   //两台主备的虚拟IP

    mode                         exclusive  //独占模式

</role>

<role reader>

    hosts                         slave126, slave127

    ips                             192.168.4.101, 192.168.4.102

    mode                         balanced //均衡模式

</role>

6、在4.122主机上添加两个授权帐号: monitor, agent

grant replication client on . to [email protected]‘%‘ identified by ‘123456‘;

grant replication client,process,super on . to [email protected]‘%‘ identified by ‘123456‘;

三、启动数据节点服务和管理节点主机上的mmm_monitor服务

1、在五台主机上安装启动的依赖包:下面三个rpm包或者tar包

 解决启动agent服务的依赖包:

 Algorithm-Diff-1.1902.tar.gz

 perl-Log-Log4perl-1.26-1.el6.rf.noarch.rpm

 Proc-Daemon-0.03.tar.gz

2、安装上面的三个包

   yum -y install gcc  gcc-c++

   cd mysql-mmm/

   tar -zxf Algorithm-Diff-1.1902.tar.gz

   cd Algorithm-Diff-1.1902/

   perl Makefile.PL

   make

   make install

   cd ..

   rpm -ivh perl-Log-Log4perl-1.26-1.el6.rf.noarch.rpm

   tar -zxf Proc-Daemon-0.03.tar.gz

   cd Proc-Daemon-0.03/

   perl Makefile.PL

   make

   make install

3、安装获取VIP的软件包:Net-ARP-1.0.8.tgz(在四台mysql服务上安装)

  gunzip Net-ARP-1.0.8.tgz

  tar -xf Net-ARP-1.0.8.tar

  cd Net-ARP-1.0.8/

  perl Makefile.PL

  make && make install

4、启动agent服务:在五台服务器上启动

    /etc/init.d/mysql-mmm-agent start   //启动服务

    netstat -ntulp | grep 9989  //查看端口号,查看服务是否启动

   cat /var/log/mysql-mmm/mmm_agentd.log //启动日志

5、启动管理节点主机上的mmm_monitor服务

   /etc/init.d/mysql-mmm-monitor start  //启动

   netstat -ntulp | grep 9988    //查看是否启动

   ls /var/log/mysql-mmm/mmm_mond.log //日志文件

6、在管理主机上,查看监控信息:mmm_control show

master122(192.168.4.122) master/AWAITING_RECOVERY. Roles:

master123(192.168.4.123) master/AWAITING_RECOVERY. Roles:

slave126(192.168.4.126) slave/AWAITING_RECOVERY. Roles:

slave127(192.168.4.127) slave/AWAITING_RECOVERY. Roles:

7、设置在线: mmm_control set_online 四台都需要设置

mmm_control set_online master122

mmm_control set_online master123

mmm_control set_online slave126

mmm_control set_online slave127

设置完成后查看:mmm_control show

master122(192.168.4.122) master/ONLINE. Roles: writer(192.168.4.100)

master123(192.168.4.123) master/ONLINE. Roles:

slave126(192.168.4.126) slave/ONLINE. Roles: reader(192.168.4.101)

slave127(192.168.4.127) slave/ONLINE. Roles: reader(192.168.4.102)

如何查看IP:

ip addr show | grep 192.168.4. //可以看到获取到了两个ip地址

四、测试

1、在数据节点上添加访问数据库的连接用户,只需要在4.122上创建一个授权帐号

grant all on . to [email protected]‘%‘ identified by ‘123456‘;

2、客户端测试:

mysql -h192.168.4.100 -uadmin -p123456

登陆上去后,增删改查数据库,然后在四台mysql

服务器上验证是否正确

3、手动把4.122这台主mysql服务器停掉,

看在客户端是否能访问,增删改查等。

4、4.122手动起来后,首先需要设置在线:mmm_control set_online master122

但是VIP对应的还是4.123,不会自动切换过去,

必须要先把4.123:mmm_control set_offline master123,

这样4.122才会获得VIP

原文地址:https://blog.51cto.com/14421632/2415095

时间: 2024-10-01 00:11:39

mysql系列之--------mmm高可用集群的相关文章

MHA-结合MySQL半同步复制高可用集群(Centos7)

目录 一.理论概述 本案例部署思路 二.环境 三.部署 部署MHA 部署二进制包MySQL及部署主从复制 部署半同步复制 配置MHA MHA测试 部署lvs+keepalived(lvs1,lvs2) 四.总结 一.理论概述 在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用. 优点 缺点 由perl语言开发的开源工具 需要编写脚本或利用第三方工具来实现Vip的配置 支持

Linux集群系列之十——高可用集群之heartbeat安装配置

rhel 5.8 32bit heartbeat v2 ha web node1 node2 节点名称, /etc/hosts 节点名称必须跟uname -n命令的直行结果一致 ssh 互信通信, 时间同步 1先配置两个主机的ip 列如 192.168.1.11   192.168.1.12 VIP192.168.1.8  网关 192.168.1.1 配置两个主机的主机名#hostname node1.mylinux.com #hostname node2.mylinux.com 为了让主机名

mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离

主要思路 测试环境 实现mysql主备复制 配置A主mysql 配置B备mysql 验证同步配置结果 验证是否同步 关闭B备mysql的同步,验证读写分离 实现读写分离 安装mycat 配置mycat 启动mycat 测试读写分离 验证是否同步 关闭B备mysql的同步,验证读写分离 数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,

mysql+myca搭建稳定高可用集群,负载均衡,主备复制,读写分离

数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定. 测试环境 MYSQL版本:Server version: 5.5.53,到官网可以下载WINDWOS安装包. 注意:确保mysql版本为5.5以后,以前版本主备同步配置方式不同. linux实现思路类似,修改my.cnf即可. A主mysql.19

MySQL-MMM高可用集群搭建实战(全程可跟做!)

MMM高可用集群案例拓扑图: 环境准备: 主服务器1:192.168.18.146 db1 vip:192.168.18.250 主服务器2:192.168.18.147 db2 从服务器1:192.168.18.128 db3 vip:192.168.18.251 从服务器2:192.168.18.148 db4 vip:192.168.18.252 监控服务器:192.168.18.145 Master1: [[email protected] ~]# wget -O /etc/yum.re

通过MMM构建MYSQL高可用集群系统

本文为南非蚂蚁的书籍<循序渐进linux-第二版>-8.4的读笔记 MMM集群套件(MYSQL主主复制管理器) MMM套件主要的功能是通过下面三个脚本实现的 1)mmm_mond 这是一个监控进程,运行在管理节点上,主要负责都所有数据库的监控工作,同时决定和处理所有节点的角色切换 2)mmm_agentd 这是一个代理进程,运行在每个MYSQL服务器上,主要完成监控的测试工作以及执行简单的远端服务设置 3)mmm_control 简单的管理脚本,用来查看和管理集群运行状态,同事管理mmm_mo

# IT明星不是梦 # MySQL高可用集群之MMM

MySQL高可用集群之MMM 一.MMM简介 MMM即Multi-Master Replication Manager for MySQL(mysql多主复制管理器),基于perl实现,关于mysql主主复制配置的监控.故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟IP,除此之外,它还有实现数据备份.节点之间重新同步功能的脚本.MySQL本身没有提供replication failover

基于keepalived搭建MySQL的高可用集群

http://www.cnblogs.com/ivictor/p/5522383.html 基于keepalived搭建MySQL的高可用集群 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,MHA和PXC. 对于小公司,一般推荐使用keepalived+双主,简单. 下面来部署一下 配置环境: 角色                          

MySQL高可用集群

1 MMM概述 1.1 关于mysql-mmm MySQL主主复制管理器 MySQL主主复制配置的监控,故障转移和管理的一套脚本套件: 能对居于标准的主从配置的任意数量的从服务器进行读负载均衡和实现数据备份: 通过MMM方案能实现服务器的故障转移,从而实现mysql的高可用. 1.2 高可用集群介绍: 主备模式 当主不能提供服务的时候备用主机接替它提供服务,这个过程对于客户端是透明的. 1.3 前提环境:主从从结构 4台数据库服务器,2台互为主主,另2台为主中的一台的从. 2 Mysql-MMM