MySQL-MMM高可用群集

  

<强>一,嗯简介
1,嗯(MySQL -主复制经理MySQL主主复制管理器)是一套支持双主故障切换和双主日常管理的脚本程序。
2,嗯是一套灵活的脚本程序,基于perl实现,用来对MySQL复制进行监控和故障转移,并能管理MySQL -主复制的配置。
3,关于嗯高可用架构的说明如下:
(1) mmm-mon:监控进程,负责所有的监控工作,决定和处理所有节点角色活动。此脚本需要在监管机上运行。
(2) mmm-agent:运行在每个MySQL服务器上的代理进程,完成监控的探针工作和执行简单的远端服务设置。此脚本需要在被监管机上运行。
(3) mmm-control:一个简单的脚本,提供mmm_mond进程的命令。
(4) mysql-mmm的监管端会提供多个虚拟IP (VIP),包括一个可写贵宾,多个可读贵宾,通过监管的管理,这些IP会绑定在可用MySQL之上,当某一台MySQL宕机时,监管会将VIP迁移至其他MySQL。

  
 <代码>实验环境:
  五台centos7
  四台MySQL: m1 192.168.30.30、m2 192.168.30.31 s1 192.168.30.32, s2 192.168.30.35
  一台mmm_moniter: 192.168.30.36
  服务firewalld停止
  setenforce 0  
  

<强>二安装MySQL和MySQL-mmm

  
      <李>   

    为了实验一致性,统一使用yum源安装MySQL和MySQL-mmm
    更换为阿里源

      
     <代码> yum安装使用wget - y
      wget - o/etc/yum.repos.d/CentOS-Base。回购http://mirrors.aliyun.com/repo/centos - 7.回购
      百胜是安装epel-release
      百胜清洗所有的,,百胜makecache  
      李   
  

2在四台MySQL服务器上安装mariadb
yum - y安装mariadb-server mariadb
systemctl开始mariadb
systemctl启用mariadb

  

3 - - - - - -修改m1主配置文件- - - - - -
vi/etc/my.cnf//
合适的位置添加以下内容

  
 <代码> (mysqld)
  log_error=/var/lib/mysql/mysql.err
  日志=/var/lib/mysql/mysql_log.log
  log_slow_queries=/var/lib/mysql_slow_queris.log
  information_schema binlog-ignore-db=mysql
  character_set_server=utf8
  log_bin=mysql_bin
  server_id=1
  log_slave_updates
  sync_binlog=1
  auto_increment_increment=2
  auto_increment_offset=1  
  

systemctl重启mariadb
netstat -anpt | grep 3306
- - - - - - -没有问题后,把配置文件复制到其它3台数据库服务器上并启动服务器- - - - - -
- - - - - -注意:配置文件中的server_id要修改- - - - - -
之后也重启mariadb
systemctl开始mariadb
systemctl启用mariadb

  

4配置主主复制——两台主服务器相互复制
mysql #进入数据库
显示主状态;//记录日志文件名称和位置值,在两台主上查看。
由于我的两台数据库都是纯净的没有执行任何操作,因此二进制日志文件和位置变量都是一样的,但是性质却不相同,一个对应的主服务器master1,一个对应的是master2
m1
 MySQL-MMM高可用群集“> <br/> m2 <br/> <img src=

  
 <代码>格兰特复制奴隶alt=" MySQL-MMM高可用群集“> 
m2
 MySQL-MMM高可用群集

  

5建库测试主主同步
创建数据库的dba;//在另一台主上可以看到
删除数据库的dba;//在主上删除后,另一台主上也没有了,同步成功。

  
 <代码> 6建立主从同步 
  

s1和s2分别指向两台主中的任意一台
显示主状态;在master1上再次查看日志状态

  
 <代码>修改主master_host=192.168.30.30, master_user=案粗啤?master_password=?23456’, master_log_file=mysql_bin.000003, master_log_pos=410;
  开始的奴隶;
  显示奴隶状态;查看复制状态 
  

s1
 MySQL-MMM高可用群集“> <br/> s2 <br/> <img src=MySQL-MMM高可用群集