iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Centos7 下 mysql5.7-mmm 高可用群集
  • 898
分享到

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

2024-04-02 19:04:59 898人浏览 薄情痞子
摘要

Centos7 下 Mysql5.7-mmm 高可用群集 MMM介绍 MMM( Master- Master replication manager for mysql, MYsql主主复制管理器)是一套支

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

MMM介绍

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

实验准备

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

实验步骤

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

 systemctl stop firewalld.service 
 setenforce 0

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

wget -O /etc/yum.repos.d/CentOS-Base.repo Http://mirrors.aliyun.com/repo/Centos-7.repo

yum -y install epel-release

yum clean all && yum makecache

修改mysql服务器的配置文件

vim /etc/my.cnf
修改mysqld下面的内容
[mysqld]
log_error=/var/lib/mysql/mysql.err
log=/var/lib/mysql/mysql_log.log
log_slow_queries=/var/lib/mysql_slow_queris.log
binlog-ignore-db=mysql,infORMation_schema
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 restart 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 要修改-----

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

show master status; 
+-------------------+----------+--------------+------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000002 |      339 |              |                  |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)    ##记录日志文件名称和 位置值,在两台主上查看。

----在m1上为m2授予从的权限,在m2上也要为m1授予从的权限---

grant replication slave on *.* to 'replication'@'192.168.100.%' identified by '123456'; ##两台主服务器都执行,从服务器不需要

change master to master_host='192.168.100.101',master_user='replication',master_passWord='123456',master_log_file='mysql_bin.000002',master_log_pos=339;

-----注意,在m1上要指定m2上的日志文件名,和位置参数-----在m2上要反过来。

start slave;

show slave status;

    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

-------在另一台主上做----要指定m1的日志和位置参数---
change master to master_host='192.168.100.100',master_user='replication',master_password='123456',master_log_file='mysql_bin.000002',master_log_pos=339;

start slave;

show slave status;

    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

配置主从复制

change master to master_host='192.168.100.100',master_user='replication',master_password='123456',master_log_file='mysql_bin.000002',master_log_pos=339;

start slave;

show slave status;

    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

安装MMM

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

yum -y install mysql-mmm*

配置mmm

cd /etc/mysql-mmm/

vi mmm_common.conf ##所有主机上都要配置,直接复制多份

<host default>
    cluster_interface       ens33
    ……
    replication_user        replication
    replication_password    123456
    agent_user              mmm_agent
    agent_password          123456

<host db1>
    ip      192.168.100.100
    mode    master
    peer    db2
</host>

<host db2>
    ip      192.168.100.101
    mode    master
    peer    db1
</host>

<host db3>
    ip      192.168.100.102
    mode    slave
</host>

<host db4>
    ip      192.168.100.103
    mode    slave
</host>

<role writer>
    hosts   db1, db2
    ips     192.168.100.200
    mode    exclusive
</role>

<role reader>
    hosts   db3, db4
    ips     192.168.100.201, 192.168.100.202
    mode    balanced
</role>

scp mmm_common.conf root@192.168.100.100:/etc/mysql-mmm/
scp mmm_common.conf root@192.168.100.101:/etc/mysql-mmm/
scp mmm_common.conf root@192.168.100.102:/etc/mysql-mmm/
scp mmm_common.conf root@192.168.100.103:/etc/mysql-mmm/   ## 复制给mysql服务器

------------------在monitor服务器上配置----
cd /etc/mysql-mmm/ //改密码

vi mmm_mon.conf

<host default>
    monitor_user        mmm_monitor
    monitor_password    123456
</host>

--------------在所有数据库上为mmm_agent授权-----
grant super, replication client, process on *.* to 'mmm_agent'@'192.168.100.%' identified by '123456';

--------------在所有数据库上为mmm_moniter授权-----
grant replication client on *.* to 'mmm_monitor'@'192.168.100.%' identified by '123456';

flush privileges;

---------------修改所有数据库的mmm_agent.conf----

vi /etc/mysql-mmm/mmm_agent.conf

this db1   ##主1 主2 从1 从2  分别为 db{1,2,3,4}

--------------在所有数据库服务器上启动mysql-mmm-agent---

systemctl start mysql-mmm-agent.service
systemctl enable mysql-mmm-agent.service

------------------在monitor服务器上配置------
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 start mysql-mmm-monitor.service   ##启动mysql-mmm-monitor

 mmm_control show    ##查看各节点的情况
  db1(192.168.100.100) master/ONLINE. Roles: writer(192.168.100.200)
  db2(192.168.100.101) master/ONLINE. Roles: 
  db3(192.168.100.102) slave/ONLINE. Roles: reader(192.168.100.201)
  db4(192.168.100.103) slave/ONLINE. Roles: reader(192.168.100.202)

mmm_control checks all   ## 需要各种OK

mmm_control move_role writer db1   ##手动转换角色

测试

关掉主1 的mysql服务
systemctl stop mysqld
mmm_control show    ##查看各节点的情况
  db1(192.168.100.100) master/HARD_OFFLINE. Roles: 
  db2(192.168.100.101) master/ONLINE. Roles: writer(192.168.100.200)
  db3(192.168.100.102) slave/ONLINE. Roles: reader(192.168.100.201)
  db4(192.168.100.103) slave/ONLINE. Roles: reader(192.168.100.202)

关掉从1的mysql服务
mmm_control show    ##查看各节点的情况
 db1(192.168.100.100) master/HARD_OFFLINE. Roles: 
  db2(192.168.100.101) master/ONLINE. Roles: writer(192.168.100.200)
  db3(192.168.100.102) slave/HARD_OFFLINEE. Roles: 
  db4(192.168.100.103) slave/ONLINE. Roles: reader(192.168.100.201,192.168.100.202)

至此,通过mmm完成mysql高可用群集

您可能感兴趣的文档:

--结束END--

本文标题: Centos7 下 mysql5.7-mmm 高可用群集

本文链接: https://www.lsjlt.com/news/41264.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何部署MySQL-MMM高可用群集
    如何部署MySQL-MMM高可用群集,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。简介MMM(Master-Master re...
    99+
    2024-04-02
  • CentOS7怎么搭建高可用集群
    这篇文章主要讲解了“CentOS7怎么搭建高可用集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS7怎么搭建高可用集群”吧!一、安装集群软件必须软件pcs,pacemaker,c...
    99+
    2023-06-28
  • 怎么在MySQL数据库中实现MMM高可用群集架构
    这篇文章给大家介绍怎么在MySQL数据库中实现MMM高可用群集架构,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MMM高可用架构说明mmm_mond:监控进程,负责所有的监控工作,决定...
    99+
    2024-04-02
  • CentOS7如何搭建MySQL5.7高可用
    这篇文章主要介绍了CentOS7如何搭建MySQL5.7高可用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据库架构:一主两从master...
    99+
    2024-04-02
  • Nginx的高可用集群
    1、什么是 nginx高可用 只有一台nginx服务器时,如果nginx服务器宕机了,那么请求就无法访问。 要实现高可用,那就可以部署多台nginx服务器,下面以两台nginx服务器为例,示意图如下: 要配置nginx集群,至少需要满...
    99+
    2023-09-04
    nginx 服务器 运维 keepalived 检测
  • 怎么在CentOS 7下搭建高可用集群
    本篇内容主要讲解“怎么在CentOS 7下搭建高可用集群”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在CentOS 7下搭建高可用集群”吧!一、安装集群软件必须软件pcs,pacemake...
    99+
    2023-06-16
  • harbor高可用集群配置
    arbor是由VMWare在Docker Registry的基础之上进行了二次封装,加进去了很多额外程序,而且提供了一个非常漂亮的web界面。说明...
    99+
    2023-06-05
  • Redis高可用集群是什么
    这篇文章主要介绍“Redis高可用集群是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Redis高可用集群是什么”文章能帮助大家解决问题。几种 Redis 高可...
    99+
    2024-04-02
  • SpringCloud 高可用的 Eureka Server 集群
    一:为什么要搭建Eureka Server 集群在一个分布式系统中,服务注册中心是最重要的基础部分,如果是单点话,遇到故障就是毁灭性的,理应随时处于可以提供服务的状态。为了维持其可用性,使用集群是很好的解决方案。Eureka通过互相注册的方...
    99+
    2023-06-02
  • 配置MySQL高可用集群MHA
    配置MySQL高可用集群+++++++++++++++++++主机角色 :客户端 client50数据库服务器 mysql51 到 mysql55管理主机 mgm56VIP地址 ...
    99+
    2024-04-02
  • 如何进行hp-unix下的高可用集群设置
    今天就跟大家聊聊有关如何进行hp-unix下的高可用集群设置,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。双机备份原理:在2个主机节点上分别安装集群软件(如:HP ServiceGu...
    99+
    2023-06-06
  • centos环境下nginx高可用集群的搭建指南
    目录1.概述2.CentOS中nginx集群搭建2.1 集群架构图2.2 Keepalived2.3 集群搭建准备2.4 集群搭建2.4.1 安装keepalived2.4.2 配置...
    99+
    2024-04-02
  • Linux集群的高可用性介绍
    这篇文章主要介绍“Linux集群的高可用性介绍”,在日常操作中,相信很多人在Linux集群的高可用性介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux集群的高可用性介绍”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-16
  • mysql高可用集群如何搭建
    要搭建MySQL高可用集群,可以按照以下步骤进行操作: 选择合适的集群架构:常用的MySQL集群架构有主从复制、主备切换和主主复...
    99+
    2023-10-24
    mysql
  • 如何配置高可用RabbitMQ集群
    这篇文章给大家分享的是有关如何配置高可用RabbitMQ集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。作为一名合格的开...
    99+
    2023-06-27
  • Keepalived+HAProxy高可用集群K8S实现
    本文采用Keepalived+HAProxy的方式构建高可用集群。当你如果你有硬件负载均衡设备当然更好了。 准备环境: 主机ipk8s-master01192.168.10.4k8s...
    99+
    2024-04-02
  • Redis高可用集群redis-cluster详解
    哨兵模式主要解决了手动切换主从节点的问题 1 , 哨兵模式的缺陷 .主从节点切换的时候存在访问瞬断,等待时间较长, .只有一个master节点提供写,slave节点提供读,尽管写的效...
    99+
    2024-04-02
  • Centenos7.4下搭建mysql集群--mysql主主互备,keepalived高可用
    mysql + keepalived环境搭建 1.环境准备 系统:Centenos7.4 mysql版本 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz keepal...
    99+
    2024-04-02
  • mysql高可用中MMM高可用mysql方案是怎么样的
    这期内容当中小编将会给大家带来有关mysql高可用中MMM高可用mysql方案是怎么样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 MMM高可用mysql方案 ...
    99+
    2024-04-02
  • Rancher 2.4.3 - HA 部署高可用k8s集群
    对于生产环境,需以高可用的配置安装 Rancher,确保用户始终可以访问 Rancher Server。当安装在Kubernetes集群中时,Rancher将与集群的 etcd 集成,并利用Kubernetes 调度实现高可用。为确保高可用...
    99+
    2023-01-31
    集群 Rancher k8s
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作