Centos7下mysql5.7-mmm高可用群集

  

Centos7下mysql5.7-mmm高可用群集

  

嗯介绍

  

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

  

实验准备

  

4台安装mysql5.7服务的设备
1台用来安装嗯的centos7设备

  

实验步骤

  

关闭防火墙自启动,以及相关功能和增强性安全功能

  
 <代码> systemctl firewalld.service停止
  setenforce 0  
  

配置阿里云源,然后安装epel-release源。

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

修改mysql服务器的配置文件

  
 <代码> vim/etc/my.cnf
  修改mysqld下面的内容
  (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=true
  sync_binlog=1
  auto_increment_increment=2
  auto_increment_offset=1
  
  systemctl重启mysqld
  
  - - - - - - -没有问题后,把配置文件复制到其它3台数据库服务器上并启动服务器- - - - - -
  
  scp/etc/my.cnf root@192.168.100.101:/etc/scp/etc/my.cnf root@192.168.100.102:/etc/scp/etc/my.cnf root@192.168.100.103:/etc/- - - - - -注意:配置文件中的server_id要修改- - - - - -
   之前
  

配置主主复制,两台主服务器相互复制

  
 <代码>显示主状态;
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  | |文件位置| Binlog_Do_DB | Binlog_Ignore_DB |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  | master-bin。000002 | | 339 | |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  1行集(0.00秒)# #记录日志文件名称和位置值,在两台主上查看。
  
  - - - - -在m1上为m2授予从的权限,在m2上也要为m1授予从的权限推荐- - - - - -
  
  格兰特复制奴隶*。*“复制”@“192.168.100。%”被“123456”;# #两台主服务器都执行,从服务器不需要
  
  修改主master_host=192.168.100.101, master_user=案粗啤?master_password=?23456’, master_log_file=mysql_bin.000002, master_log_pos=339;
  
  - - - - - -注意,在m1上要指定m2上的日志文件名,和位置参数- - - - - -在m2上要反过来。
  
  开始的奴隶;
  
  显示奴隶状态;
  
  Slave_IO_Running:是的
  Slave_SQL_Running:是的
  
  - - - - - - -在另一台主上做- - - - -要指定m1的日志和位置参数- - - - - -
  修改主master_host=192.168.100.100, master_user=案粗啤?master_password=?23456’, master_log_file=mysql_bin.000002, master_log_pos=339;
  
  开始的奴隶;
  
  显示奴隶状态;
  
  Slave_IO_Running:是的
  Slave_SQL_Running:是的 
  

配置主从复制

  
 <代码>修改主master_host=192.168.100.100, master_user=案粗啤?master_password=?23456’, master_log_file=mysql_bin.000002, master_log_pos=339;
  
  开始的奴隶;
  
  显示奴隶状态;
  
  Slave_IO_Running:是的
  Slave_SQL_Running:是的 
  

安装嗯

  

在所有服务器上安装- - - - - -注意,epel源要配置好

  
 <代码> yum - y安装mysql-mmm *  
  

配置嗯

  
 <代码> cd/etc/mysql-mmm/vi mmm_common。参看# #所有主机上都要配置,直接复制多份
  
  & lt;主机default>
  cluster_interface ens33
  ……
  replication_user复制
  replication_password 123456
  agent_user mmm_agent
  agent_password 123456
  
  & lt;主机db1>
  ip 192.168.100.100
  模式主
  同行db2
  & lt;/host>
  
  & lt;主机db2>
  ip 192.168.100.101
  模式主
  同行db1
  & lt;/host>
  
  & lt;主机db3>
  ip 192.168.100.102
  模式的奴隶
  & lt;/host>
  
  & lt;主机db4>
  ip 192.168.100.103
  模式的奴隶
  & lt;/host>
  
  writer> & lt;作用;
  主机db1、db2
  ips 192.168.100.200
  模式的独家
  & lt;/role>
  
  reader> & lt;作用;
  主机db4, db4
  ips 192.168.100.201, 192.168.100.202
  模式的平衡
  & lt;/role>
  
  scp mmm_common。参看root@192.168.100.100:/etc/mysql-mmm/scp mmm_common。参看root@192.168.100.101:/etc/mysql-mmm/scp mmm_common。参看root@192.168.100.102:/etc/mysql-mmm/scp mmm_common。参看root@192.168.100.103:/etc/mysql-mmm/# #复制给mysql服务器
  
  - - - - - - - - - - - - - - - - - -在监控服务器上配置- - - - -
  cd/etc/mysql-mmm///改密码
  
  vi mmm_mon.conf
  
  & lt;主机default>
  monitor_user mmm_monitor
  monitor_password 123456
  & lt;/host>
  
  - - - - - - - - - - - - - - - -在所有数据库上为mmm_agent授权- - - - - -
  格兰特超级,复制客户端,过程*。*“mmm_agent”@“192.168.100。%”被“123456”;
  
  - - - - - - - - - - - - - - - -在所有数据库上为mmm_moniter授权- - - - - -
  格兰特复制客户端*。*“mmm_monitor”@“192.168.100。%”被“123456”;
  
  冲洗特权;
  
  - - - - - - - - - - - - - - - - - -修改所有数据库的mmm_agent.conf - - - - -
  
  vi/etc/mysql-mmm/mmm_agent.conf
  
  这个db1 # #主1主2从1从2分别为db {1, 2, 3, 4}
  
  - - - - - - - - - - - - - - - -在所有数据库服务器上启动mysql-mmm-agent - - - - - -
  
  systemctl开始mysql-mmm-agent.service
  systemctl启用mysql-mmm-agent.service
  
  - - - - - - - - - - - - - - - - - -在监控服务器上配置- - - - - -
  cd/etc/mysql-mmm/vi mmm_mon.conf
  
  ……
  ping_ips 192.168.100.100,192.168.100.101,192.168.100.102,192.168.100.103 # #数据库服务器地址
  
  auto_set_online 10
  
  systemctl mysql-mmm-monitor开始。服务# #启动mysql-mmm-monitor
  
  mmm_control显示# #查看各节点的情况
  db1(192.168.100.100)主/在线。角色:作家(192.168.100.200)
  db2(192.168.100.101)主/在线。角色:
  db4(192.168.100.102)奴隶/在线。角色:读者(192.168.100.201)
  db4(192.168.100.103)奴隶/在线。角色:读者(192.168.100.202)
  
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

Centos7下mysql5.7-mmm高可用群集