【DBA专属】mysql-------->>>MMM高可用集群架构

这篇具有很好参考价值的文章主要介绍了【DBA专属】mysql-------->>>MMM高可用集群架构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Mysql---MMM高可用集群架构

目录

MMM安装部署

环境配置:(所有主机配置)

1、主机信息

2、关闭防火墙

3、同步时区

4、配置主机解析文件

5、配置ssh免密登录

6、所有机器安装epel源

数据库配置:

【所有数据库均做的配置】

1、安装四台数据库并修改密码

2、修改数据库配置文件/etc/my.cnf

3、启动服务

【主库1和备用主库2配置】

设置主库1和备用主库互为主从

1.查看日志文件

2.互相授权从用户

3.都关闭从

4.都设置为主库

5.创建库互相验证

【从库1和从库2配置】

从库1和从库2都设为主库1的从库

1.都关闭从stop slave;

2.都设置成主1的从库

3.开启从start slave;

4.查看状态show slave status\G

5.创建库互相验证

【高可用配置】

所有数据库配置:【huyang1/2/3/4】

1.在所有数据库授权使monitor可以访问

2.所有主机安装

3. 所有主机修改配置文件

4.所有服务器修改角色和配置文件里对应上

5.所有数据库启动mysql agent代理服务

【监视器配置】

1.修改监控主机配置文件

2.监视器启动监控

3.查看状态

4.查看监控状态

5.手动切换状态

【结果测试】

【停止主库的mariadb服务】

1.查看其他库变化

2.在备用主库2上新建库

【重启主库1】

1.查看其他库变化

【停止备用主库2的服务】

结果总结:


MMM安装部署

环境配置:(所有主机配置)

1、主机信息

作  用

Ip地址

主机名

主库1

192.168.59.137

huyang1

备用主库2

192.168.59.138

huyang2

从库1

192.168.59.140

huyang3

从库2

192.168.59.142

huyang4

监视器

192.168.59.144

huyang5

【DBA专属】mysql-------->>>MMM高可用集群架构

2、关闭防火墙

systemctl stop firewalld

iptables -F

setenforce 0

【DBA专属】mysql-------->>>MMM高可用集群架构

3、同步时区

【huyang1/2/3/4/5/】yum -y install ntp

【huyang1】systemctl  start  ntpd

【huyang1/2/3/4/5/】ntpdate  huyang1

【DBA专属】mysql-------->>>MMM高可用集群架构

4、配置主机解析文件

【huyang1】vim /etc/hosts

输入信息:192.168.59.137 huyang1

192.168.59.138 huyang2

192.168.59.140 huyang3

192.168.59.142 huyang4

192.168.59.144 huyang5

【huyang1】scp /etc/hosts  huyang1/2/3/4/5:/etc/hosts

【DBA专属】mysql-------->>>MMM高可用集群架构

5、配置ssh免密登录

【huyang1/2/3/4/5】

ssh-keygen -t rsa

ssh-copy-id -i .ssh/id_rsa.pub root@huyang5

【huyang5】cat /root/.ssh/authorized_keys

scp .ssh/authorized_keys root@huyang1:.ssh/

scp .ssh/authorized_keys root@huyang2:.ssh/

scp .ssh/authorized_keys root@huyang3:.ssh/

scp .ssh/authorized_keys root@huyang4:.ssh/

【huyang1】生成密钥对传给其他数据库,连接测试

ssh huyang1

ssh huyang2

ssh huyang3

ssh huyang4

ssh huyang5

因为第一次连接的时候需要输入yes

影响后期故障切换时,对于每个主机的SSH控制

【DBA专属】mysql-------->>>MMM高可用集群架构

6、所有机器安装epel源

yum -y install epel-release

【DBA专属】mysql-------->>>MMM高可用集群架构

数据库配置:

【所有数据库均做的配置】

1、安装四台数据库并修改密码

yum -y install mariadb mariadb-server mariadb-devel

systemctl start mariadb

mysqladmin -u root password 123456

【DBA专属】mysql-------->>>MMM高可用集群架构

2、修改数据库配置文件/etc/my.cnf

vim /etc/my.cnf

主库1:

server-id=1

log-bin=mysql-bin

log-slave-updates=true

relay-log=relay-log-bin

relay-log-index=relay-log-bin.index

备用主库2:

server-id=2

log-bin=mysql-bin

log-slave-updates=true

relay-log=relay-log-bin

relay-log-index=relay-log-bin.index

从库1:

server-id=3

relay-log=relay-log-bin

relay-log-index=relay-log-bin.index

从库2:

server-id=4

relay-log=relay-log-bin

relay-log-index=relay-log-bin.index

【DBA专属】mysql-------->>>MMM高可用集群架构

3、启动服务

重启服务:systemctl restart mariadb

登录:mysqlmysql -uroot -p123456

【DBA专属】mysql-------->>>MMM高可用集群架构

【主库1和备用主库2配置】

设置主库1和备用主库互为主从

1.查看日志文件

show master status

【DBA专属】mysql-------->>>MMM高可用集群架构

2.互相授权从用户

【huyang1】grant replication slave on *.* to

'replication'@'192.168.59.%' identified by '123456';

flush privileges;

【huyang2】grant replication slave on *.* to

'replication'@'192.168.59.%' identified by '123456';

flush privileges;

3.都关闭从

stop slave;

【DBA专属】mysql-------->>>MMM高可用集群架构

4.都设置为主库

【huyang1】change master to

master_host='192.168.59.138',master_user='replication',master_password='123456',master_log_file='master-bin.000003',master_log_pos=245;

【huyang2】change master to

master_host='192.168.59.137',master_user='replication',master_password='123456',master_log_file='master-bin.000001',master_log_pos=345;

开启从start slave;

查看状态show slave status\G

【DBA专属】mysql-------->>>MMM高可用集群架构

5.创建库互相验证

create database huyang1

show databases;

【DBA专属】mysql-------->>>MMM高可用集群架构

【从库1和从库2配置】

从库1和从库2都设为主库1的从库

1.都关闭从stop slave;

2.都设置成主1的从库

change master to

master_host='192.168.59.137',master_user='replication',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=245;

3.开启从start slave;

4.查看状态show slave status\G

【DBA专属】mysql-------->>>MMM高可用集群架构

5.创建库互相验证

create database HUYANG1

show databases;

【DBA专属】mysql-------->>>MMM高可用集群架构

【高可用配置】

所有数据库配置:【huyang1/2/3/4】

1.在所有数据库授权使monitor可以访问

grant super, replication client, process on *.* to 'mmm_agent'@'192.168.59.%' identified by '123456';

super:超级权限

replication client:客户端复制管理权限

process on:进程管理

【DBA专属】mysql-------->>>MMM高可用集群架构

2.所有主机安装

yum -y install mysql-mmm*

【DBA专属】mysql-------->>>MMM高可用集群架构

3. 所有主机修改配置文件

vim /etc/mysql-mmm/mmm_common.conf

cluster_interface       ens33  网卡

replication_user        replication  复制用户

replication_password    123456  复制用户的密码

agent_user              mmm_agent  管理用户

agent_password          123456  管理用户的密码

</host>设置的管理用户

详细配置如下图:

【DBA专属】mysql-------->>>MMM高可用集群架构

4.所有服务器修改角色和配置文件里对应上

 vim /etc/mysql-mmm/mmm_agent.conf

分别改为huyang1、huyang2、huyang3、huyang4

【DBA专属】mysql-------->>>MMM高可用集群架构

5.所有数据库启动mysql agent代理服务

 systemctl start mysql-mmm-agent

【DBA专属】mysql-------->>>MMM高可用集群架构

【监视器配置】

1.修改监控主机配置文件

vim /etc/mysql-mmm/mmm_mon.conf

ping_ips  后面跟上所有服务器的真实ip

<host default>

   monitor_user        mmm_agent  管理用户

    monitor_password    123456授权账户和密码

</host>

详细配置如下图:

【DBA专属】mysql-------->>>MMM高可用集群架构

2.监视器启动监控

systemctl start mysql-mmm-monitor

3.查看状态

mmm_control show

4.查看监控状态

mmm_control checks all

【DBA专属】mysql-------->>>MMM高可用集群架构

5.手动切换状态

mmm_control move_role writer huyang1

【DBA专属】mysql-------->>>MMM高可用集群架构

【结果测试】

【停止主库的mariadb服务】

systemctl stop mariadb

【DBA专属】mysql-------->>>MMM高可用集群架构

1.查看其他库变化

【监视器】mmm_control show

vip地址:192.168.59.143由主库变到了备用主库2上

【DBA专属】mysql-------->>>MMM高可用集群架构

【huyang3/4】show slave status\G;

【DBA专属】mysql-------->>>MMM高可用集群架构

【huyang2】show slave status\G;

【DBA专属】mysql-------->>>MMM高可用集群架构

2.在备用主库2上新建库

Create database huyang1

以下图为例:

【DBA专属】mysql-------->>>MMM高可用集群架构

可以发现备用主库2虽然新建了库huyang1,但是从库1和从库2没有发生变化

【重启主库1】

【huyang1】systemctl start mariadb

【DBA专属】mysql-------->>>MMM高可用集群架构

1.查看其他库变化

【监视器变化】mmm_control show

vip地址:没有变化

【DBA专属】mysql-------->>>MMM高可用集群架构

【huyang3/4】show slave status\G;

重新连接上了主库1

【DBA专属】mysql-------->>>MMM高可用集群架构

【huyang2】show slave status\G;

【DBA专属】mysql-------->>>MMM高可用集群架构

【停止备用主库2的服务】

【huyang2】systemctl start mariadb

【DBA专属】mysql-------->>>MMM高可用集群架构

【监视器变化】mmm_control show

vip地址:192.168.59.143由主库变到了主库1上

【DBA专属】mysql-------->>>MMM高可用集群架构

【huyang3/4】show slave status\G;

【DBA专属】mysql-------->>>MMM高可用集群架构

【huyang1/3/4】show databases;

可以发现当初在备用主库2上新建的库huyang1,此时出现在了【huayng1/3/4】数据库内

【DBA专属】mysql-------->>>MMM高可用集群架构

结果总结:

1.在切换主从的过程中查看结果较慢;

2.当第一个主服务停止之后,第二个服务器会成为主,但是查看状态会报错,因为一开始指定的就是第一个服务器;

3.虽然在主库1宕机之后,备用主库2和从库3从库4明面上没有产生主从复制的效果,但是在主库1恢复之后,手动停止备用主库2的服务,vip会将之前在备用主库2上的产生的数据,转移给主库1,并复制到从库1和从库2上,以保证数据的同步,这就是mysql---MMM高可用集群架构的意义!文章来源地址https://www.toymoban.com/news/detail-513035.html

到了这里,关于【DBA专属】mysql-------->>>MMM高可用集群架构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【RabbitMQ高可用集群架构】

    之前通过单机环境搭建起来的RabbitMQ服务有一个致命的问题,那就是服务不稳定的问题。如果只是单 机RabbitMQ的服务崩溃了,那还好,大不了重启下服务就是了。但是如果是服务器的磁盘出问题了,那问 题就大了。因为消息都是存储在Queue里的,Queue坏了,意味着消息就丢失了

    2024年02月04日
    浏览(41)
  • LVS+Keepalived架构(负载均衡高可用集群)

    普通的群集的部署是通过 一台调度器控制调配多台节点服务器 进行业务请求的处理,但是仅仅是一台调度器,就会存在极大的单点故障风险,当该调度器的链路或则调度器本身出现故障时,就会导致整个业务的无法正常进行  而高可用集群是由 一台主调度器和一台或多台备

    2024年02月12日
    浏览(58)
  • 【运维知识进阶篇】集群架构-Nginx高可用Keepalived

    高可用是指2台机器启动着完全相同的业务系统,一台机器宕机后,另一台可以快速启用,用户是无感知的。高可用硬件通常使用F5,软件通常使用keepalived。keepalived软件是基于VRRP协议实现的,VRRP虚拟路由冗余协议,主要用于解决单点故障。 目录 VRRP实现原理 Keepalived核心概念

    2024年02月06日
    浏览(66)
  • 构建高可用的去中心化微服务集群架构指南

    随着云计算、大数据和物联网的快速发展,企业对于可扩展的、高性能的微服务架构的需求也日益增长。传统的集中式架构已经不能满足这些需求,因此出现了去中心化的微服务集群架构。本文将介绍如何构建高可用的去中心化微服务集群架构,以满足企业的 高性能 和 可扩

    2024年02月12日
    浏览(55)
  • rabbitmq第四课-RabbitMQ高可用集群架构详解以及生产环境最佳实践

    之前通过单机环境搭建起来的RabbitMQ服务有一个致命的问题,那就是服务不稳定的问题。如果只是单机RabbitMQ的服务崩溃了,那还好,大不了重启下服务就是了。 但是如果是服务器的磁盘出问题了,那问题就大了。因为消息都是存储在Queue里的,Queue坏了,意味着消息就丢失了

    2024年02月11日
    浏览(49)
  • Mysql - 配置Mysql主从复制-keepalived高可用-读写分离集群

    目录 高可用: 为什么需要高可用呢? 高可用的主要作用: keepalived是什么?它用在哪里? 什么是VRRP协议,它的作用是什么? 搭建一个基于keepalived的高可用Mysql主从复制读写分离集群 一、项目中的IP地址配置表: 二、项目拓扑图: 项目步骤:(主从复制、读写分离、单vi

    2024年02月13日
    浏览(47)
  • 网站架构演变、LNP+Mariadb数据库分离、Web服务器集群、Keepalived高可用

    目录 day02 深入理解程序的数据存储 验证 配置NFS服务器 配置代理服务器 配置名称解析 程序将文字数据保存到数据库中 程序将非文字数据(如图片、视频、压缩包等)保存到相应的文件目录中 验证 发一篇文章,文章内容包含文字和图片 在数据库中查看文字数据。在最新的一

    2024年02月20日
    浏览(46)
  • MySQL生产环境高可用架构详解

           随着现在互联网的应用越来越大,数据库会频繁的成为整个应用的性能瓶颈。而 我们经常使用的MySQL数据库,也会不断面临数据量太大、数据访问太频繁、数据 读写速度太快等一系列的问题。所以,我们需要设计复杂的应用架构来保护孱弱的 数据库,例如添加Redis缓

    2024年02月10日
    浏览(47)
  • ES+Redis+MySQL 高可用架构设计

    一、背景 二、ES高可用方案 三、会员Redis缓存方案 四、高可用会员主库方案 五、异常会员关系治理 六、展望:更精细化的流控和降级策略 会员系统是一种基础系统,跟公司所有业务线的下单主流程密切相关。如果会员系统出故障,会导致用户无法下单,影响范围是全公司所

    2024年02月05日
    浏览(42)
  • ES+Redis+MySQL,这个高可用架构设计

    会员系统是一种基础系统,跟公司所有业务线的下单主流程密切相关。如果会员系统出故障,会导致用户无法下单,影响范围是全公司所有业务线。所以,会员系统必须保证高性能、高可用,提供稳定、高效的基础服务。 随着同程和艺龙两家公司的合并,越来越多的系统需要

    2024年02月07日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包