MySQL高可用群集- - - - - -配置嗯高可用架构

  

嗯简介:

  

<强>嗯(Mysql -主复制经理Mysql主主复制管理器)是一套支持双主故障切换和双主日常管理的脚本程序.MMM使用Perl语言开发,主要用来监控和管理Mysql -主(双主)复制,虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时备选主的预热,可以说嗯这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现多个奴隶的阅读负载均衡.MMM是一套灵活的脚本程序,基于Perl实现,用来对Mysql复制进行监控和故障转移并能管理Mysql -主复制的配置

  

嗯高可用架构的说明:

  

<强> 1. mmm_mon:监控进程,负责所有的监控工作,决定和处理所有节点角色活动。此脚本需要在监管机上运行
2. mmm_agent:运行在每个Mysql服务器上的代理进程,完成监控的探针工作和执行简单的远端服务设置。此脚本需要在各节点上运行
3. mmm_control:一个简单的脚本,提供管理mmm_mond进程的命令
4. mysql-mmm的监控端会提供多个虚拟IP (VIP),包括一个可写贵宾,多个可读贵宾,通过监管的管理,这些IP会绑定在可用的Mysql之上,当某一台Mysql宕机时,监控会将VIP迁移至其他Mysql
在整个监管过程中,需要在Mysql中添加相关授权用户,以便让Mysql可以支持监理机的维护。授权的用户包括一个mmm_monitor和一个mmm_agent用户。

  

实验案例环境部署:

  
  

本实验使用五台服务器模拟搭建(CentOS7操作系统)
主服务器master1: ip: 192.168.100.10 db1贵宾:192.168.100.199
主服务器master2: ip: 192.168.100.20 db2
从服务器slave1: ip: 192.168.100.30 db4贵宾:192.168.100.33
从服务器slave2: ip: 192.168.100.40 db4贵宾:192.168.100.44
监控服务器监视ip: 192.168.100.50

     <人力资源/>   

实验的过程已整理好脚本如下:

  
  

- - - - - - - - - - - master01/master02/slave01/slave02都需要安装mysql数据库- - - - - -
配置阿里云源,然后安装epel-release源。(四台主从服务器都需要装)
systemctl firewalld停止。服务
setenforce 0
wget - o/etc/yum.repos.d/CentOS-Base。回购http://mirrors.aliyun.com/repo/centos - 7.回购
yum - y安装epel-release//安装epel源
百胜清洗所有的,,百胜makecache//清空所有,重新设置数据缓存

     <人力资源/>   
  

- - - - - - - - - - -搭建本地百胜源- - - - - - - - - - -下面直接做- - - - - - - - - - - - - - - - - -
yum - y安装mariadb-server mariadb(四台主从服务器都需要装)
systemctl firewalld停止。服务
setenforce 0
systemctl开始mariadb

     <人力资源/>   
  

- - - - - - - - - - -修改毫升主配置文件- - - - - - - - - - - -(四台主从服务器都需要)- - - - - - - - - - - - - - - - - - - - - - - - -
vi/etc/my.cnf (9 dd删掉之前的内容)
vi/etc/my.cnf (9 dd删掉(mysqld)标签之前的内容,重新插入下面的配置)
(mysqld)
log_error=/var/lib/mysql/mysql。犯错//开启错误日志功能
日志=/var/lib/mysql/mysql_log。日志//开启一般日志功能
log_slow_queries=/var/lib/mysql_slow_queris。日志//开启慢日志功能
binlog-ignore-db=mysql, information_schema//不需要同步的数据库名称
character_set_server=utf8//设置默认的字符集为utf - 8
log_bin=mysql_bin//开启二进制日志,用于主从数据复制
server_id=1//每台server_id的值不能相同
log_slave_updates=true//此数据库宕机,备用数据库接管
sync_binlog=1
auto_increment_increment=2//字段一次递增2
auto_increment_offset=1//自增字段的起始值:1、3、5、7 .........等奇数ID

     <人力资源/>   
  

修改完后:
systemctl firewalld停止。服务
setenforce 0
systemctl开始mariadb
netstat -anpt | grep 3306

     <人力资源/>   
  

- - - - - - - - - - - - -没有问题后,把配置文件复制到其他3台数据库服务器上并启动服务器- - - - - - - - - - -
一台一台配置或:scp/etc/my.cnf root@192.168.100.10:/etc///此命令在文件源端服务器上执行
注:第二台server_id=2第三台11第四台22

     <人力资源/>   
  

- - - - - - - - - - - - -配置主主复制——两台主服务器互相复制- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
显示主状态;//记录日志文件名称和位置,在两台主上查看。

MySQL高可用群集- - - - - -配置嗯高可用架构