KeepAlived+MySQL实现高可用(双主热备)

MySQL+KeepAlived实现双主高可用方案实践 目录 1、什么叫双主高可用(双机热备) 2、搭建主主同步 3、配置MySQL+Keepalived故障转移的高可用环境 4、测试 5、MyCAT双主高可用 5.1 架构图 5.2 准备环境 5.3 高可用配置 1、什么叫双主高可用(双机热备) 我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。MySQL双主复制,即互为Master-Slave(只有一个Master提供. 阅读详情

KeepAlived+MySQL实现高可用(双主热备)


准备工作:
Master1: 192.168.0.6
Master2: 192.168.0.9
VIP: 192.168.0.100


一. Master1:

  1. 修改配置文件
# vim /etc/my.cnf
server-id=1
log-bin=mysql-bin
relay-log=mysql-relay
  1. MySQL添加账号并赋予权限
mysql> grant replication slave on *.* to backup@'%' identified by 'backup';
mysql> show master status \G;
  1. 输出

File: mysql-bin.000001
Position: 323
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)

  1. 安装并配置keepalived
# yum -y install keepalived
# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id MySQL-Master	# id自定义
}

vrrp_instance VI_1 {
    state MASTER	# 设置为MASTER
    interface eth0
    virtual_router_id 51
    priority 100	# 优先级100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.0.100	# 设置VIP
    }
}

virtual_server 192.168.0.100 3306 {	# 监听VIP3306端口
    delay_loop 6
    lb_algo rr
    lb_kind DR		# 使用DR模式轮循
    nat_mask 255.255.255.0
    protocol TCP

    real_server 192.168.0.6 3306 {	# 本机MySQL开启3306
        weight 1
        TCP_CHECK {		# 健康检查
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 3306	# 设置连接端口3306
        }
    }
    real_server 192.168.0.9 3306 {	# Master2服务器MySQL
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 3306	# 设置连接端口3306
        }
    }
}
  1. 启动
# service keepalived start

二. Master2:

  1. 修改配置文件
# vim /etc/my.cnf
server-id=2
log-bin=mysql-bin
relay-log=mysql-relay
  1. MySQL创建账号授予权限并连接Master1
mysql> grant replication slave on *.* to backup@'%' identified by 'backup';
mysql> stop slave
mysql> change master to master_host='192.168.0.6',  master_user='backup', master_password='backup',  master_log_file='mysql-bin.000001', master_log_pos=323;
mysql> flush privileges;
mysql> start alave;
mysql> show slave status\G;
  1. 输出

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

连接成功
查看本机master状态

mysql> show master status\G;
  1. . 输出

File: mysql-bin.000001
Position: 323
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)

  1. 回到Master1

三. Master1:

  1. 配置MySQL互为主从
mysql> stop slave
mysql> change master to master_host='192.168.0.9',  master_user='backup', master_password='backup',  master_log_file='mysql-bin.000001', master_log_pos=323;
mysql> flush privileges;
mysql> start alave;
mysql> show slave status\G;
  1. 输出

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

连接成功


四. Master2:

  1. 安装并配置keepalived
# yum -y install keepalived
# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id MySQL-Backup	# id自定义
}

vrrp_instance VI_1 {
    state BACKUP	# 设置为BACKUP
    interface eth0	# 使用网卡(注意)
    virtual_router_id 51
    priority 90	# 优先级要低于Master1的100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.0.100	# vip(一致)
    }
}

virtual_server 192.168.0.100 3306 {	# 设置VIP的MySQL3306
    delay_loop 6
    lb_algo rr
    lb_kind DR	# 使用DR模式
    nat_mask 255.255.255.0
    protocol TCP

    real_server 192.168.0.6 3306 {	# Master1IP及3306端口
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 3306	# 配置连接端口3306
        }
    }
    real_server 192.168.0.9 3306 {	# 本机IP及3306端口
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 3306	# 配置连接端口为3306
        }
    }
}
  1. 开启keepalived
# service keepalived start

五.测试

  1. keepalived 单点故障测试

Master1主机分别查看VIP

# ip addr

查看Master1结果存在vip,Master2不存在VIP,即keepalived启动正常

停止Master1的keepalived

# service keepalived stop

再次分别查看VIP是否存在

# ip addr

Master1VIP挂掉,Master2VIP启动,即单点故障测试成功
再次开启Master1的keepalived,VIP被抢回来.

注:默认优先级较大会争抢VIP不争抢模式在keepalived配置文件vrrp_instance VI_1下 添加nopreempt

  1. 双主热备测试

互相创建数据库,表,字段,插入数据,在另一数据库能查询到,即双主热备成功.

ubuntu16.04下的mysql双机热备实操 双机热备的原理: 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。 从我本次的环境中为公司搭建实现两套mysql的双机热备,就是使两台mysql互为主备,在一套服务出现故障的时候即使切换另一台备份服务器,即使对外提供服务  ,双机热备是指两台机器都在运行 阅读详情

相关推荐

Carla-编译CarlaUE4提示HoloLens.Automation项目缺少Windows程序集?

编译CarlaUE4提示HoloLens.Automation项目缺少Windows程序集?不妨看看这个!

DSK_981029的博客 2573

MySQL主从同步的权限_mysql 主从复制用户权限限制

pay db:jrhdpt11:/root/sbin# mysql -uroot -p'R00t,uHagt.0511' -e "show processlist" | grep backupWarning: Using a password on the command line interface can be insecure.832734backup121.43.153.147:37873...

weixin_42501033的博客 838

帆软FineBI考试题

Flint 补录表,有批次删除功能。在分析主题内添加数据时能够选择批量添加数据。插件安装过程中有报错提示需要下载 Fine I for Excel 运行环境进行修复,修复完毕后重新安装插件。图例显示支持自定义设置,且图例标题支持隐藏显示。finebi中的指标如果想进行维度区间/真的自定义分组,不能直接拖拽到组建区域中需要先转化为维度方可进行指标分组。excel报表不支持分页。

Davina_yu的博客 1609

Mysql+Keepalived高可用主备教程(一)

主->备->只读配置主备应用背景功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 配置主备 由于公司项目需要...

g470657538的专栏 792

基于Java+SpringBoot+Vue的中小企业设备管理系统的设计与开发(源码+lw+部署文档+讲解等)

💗博主介绍:✌新人博主,工作经验两年+、专注于Java、小程序技术领域和毕业项目实战✌💗🌟文末获取源码+数据库🌟

2301_76502068的博客 1385

鸿蒙日历组件进阶:教你打造个性化日程管理界面(支持月份切换)

本文深入探讨了鸿蒙应用开发中自定义日历组件的构建方法。通过详解基于Grid的布局设计、核心日期算法、月份切换逻辑以及事件管理集成,指导开发者打造支持个性化日程管理的高性能日历界面,提升应用交互体验。

weixin_29207149的博客 68

Mysql+Keepalived实现双主热备

Mysql双主热备

郑某某的博客 4790

SAP PI 系统复制,不只是把数据库拷过去,而是一次集成拓扑的重新落位

文章摘要:SAP PI/PO系统刷新生产数据到测试环境时,标准系统复制无法自动处理集成中枢特有的环境绑定问题。系统复制后,PI仍保留生产环境的连接配置,可能导致测试系统向生产环境发送消息。SAP提供的CTC模板可自动化部分后续配置,但无法替代人工对接口风险的全面评估。关键在于系统复制前绘制接口风险地图,复制后进行分层次验证:禁用生产连接、重定向测试接口、复核安全配置,并通过代表性链路测试确保系统行为符合预期。这需要结合SAP标准流程与业务语义判断,形成完整的治理闭环。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 85

MySQL系列——MySQL8+keepalived双主热备高可用

Centos8+Mysql8+keepalived双主保姆级搭建教程

Star_Inori的博客 2718

[内网基础] 内网基础知识 —— Windows 工作组

在一个大型单位里,可能有成百上千台计算机互相连接组成局域网,如果不对这些计算机进行分组,网络的混乱程度是可想而知的。Windows 为了解决这一问题,就产生了工作组(Work Group)这个概念。Windows 工作组尝试将不通的计算机按功能(或部门)分别列入不同的工作组,例如技术部的计算机都列入 “技术部” 工作组、行政部的计算机都列入 “行政部” 工作组。要想访问某个部门的资源,只要在 “网络” 里双击该部门的工作组名,就可以看到该部门里的所有计算机了。

Blue17 の 小窝 1615

实现真正的「人机」对战:引入三方 AI 引擎

引入三方 AI 引擎 前边,我们实现了与云库对战的象棋游戏。这一节中,我们将开始实现真正的「人机」对战 — 人与手机 AI 之间对弈; 实现一套象棋 AI 工程浩大,这个工作我们后续文章会做一番介绍。现代软件工程并不主张每个人都「造轮子」,因此我们要有「站在巨人肩膀上」的小智慧。 本节概要 从 github 寻找开源中象引擎 梳理引擎接入的思路 寻找适合的开源中国象棋引擎 github 上有大...

tosmart的博客 983

蓝易云:Centos7部署MySQL8+keepalived双主热备高可用

在CentOS 7上部署MySQL 8和Keepalived实现双主热备高可用的步骤如下:安装MySQL 8:在终端中执行以下命令,安装MySQL 8的官方Yum存储库: 安装MySQL服务器: 配置MySQL,包括设置密码和其他安全设置。 启动MySQL服务: 运行MySQL安全脚本,进行必要的安全性配置: 安装Keepalived:在终端中执行以下命令,安装Keepalived: 配置Keepalived,包括虚

高性价比服务器就选:蓝易云 305

MATLAB - 机械臂手眼标定(眼在手内) - 估计安装在机器人上的移动相机的姿态

执行手眼校准有助于操作配备末端执行器(简称 “手”)的机械臂,该末端执行器依赖于摄像头提供的视觉数据。一旦完成了眼在手外的校准,机械臂就能准确地移动到摄像头识别的特定像素位置。这种能力是执行精确拾放任务(如分类、堆垛和分拣)的基础,即使在摄像机的确切位置和方向未知的情况下也是如此。机器人-摄像机系统有两种构型:眼在手内和眼在手外。在眼在手内构型中,摄像头直接安装在机器人手臂的末端执行器上。相反,在眼在手的构型中,摄像头固定在一个静止的物体上,机器人手臂在其视野内。

机器人控制与仿真应用 3355

MySQL8.0.19 双主热备

MySQL8.0.19 双主热备一、环境准备二、双主配置2.1 主机A(131)配置2.2 主机B(132)配置2.3 主机A(131)主从配置2.4 主机B(132)主从配置2.5 启动主机A(131)主从复制2.6 启动主机B(132)主从复制三、双主配置测试3.1 主机A创建数据库gohealth-plat3.2 主机A查看创建数据库gohealth-plat3.3 登录主机B查看创建数据库...

dahai533418的专栏 1996

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

MySQL+keepalived双主热备高可用方案

MySQL+keepalived双主热备高可用方案的实施。 架构组件: 主机 ip 软件 keepalived136 192.168.136.136 keepalived keepalived137 192.168.136.137 keepalived mysql138 192.168.136.138 mysql mysql139 192.168.136.139 mysql 其中mysql138,mysql139...

weixin_40524659的博客 285

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

蓝易云服务器 - Centos7部署MySQL8+keepalived双主热备高可用

在CentOS 7上部署MySQL 8和Keepalived实现双主热备高可用的步骤如下:安装MySQL 8:在终端中执行以下命令,安装MySQL 8的官方Yum存储库:登录后复制 wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch....

weixin_41489611的博客 109

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

蓝易云 - Centos7部署MySQL8+keepalived双主热备高可用

通过以上步骤,你可以在CentOS 7上部署MySQL 8和Keepalived,实现双主热备高可用的环境。请注意,根据具体的需求和环境,可能需要进行其他配置和调整。建议参考MySQL和Keepalived的官方文档或安装指南,获取更详细的信息和指导。

高性价比服务器就选:蓝易云 401

MySQL 高可用性之 Keepalived 双主热备

亲测可用的方法 MySQL 高可用性之 Keepalived 双主热备

借你一秒 875

MySQL+Keepalived主从高可用集群原理+实战

经过一顿操作,我们发现要实现MySQL的高可用整个过程还是比较复杂,特别是针对写节点,目前我们能实现的也是单点写,多点读,不过单点写有一台Master备机作为热备,那么有没有多点写呢?答案是有的,如果有时间,我们将来搭建一下PXC(Percona XtraDB Cluster)和MGR(MySQL Group Replication)上面的架构中,Slave的切换需要通过脚本来实现,强烈依赖于keepalived的状态变化,那么我们能不能指定VIP作为m3的Master呢?

z1ztai的博客 641

keepalived+mysql实现双主高可用

环境:DB1:centos6.8、mysql5.5、192.168.2.204  hostname:bogonDB2:centos6.8、mysql5.5、192.168.2.205  hostname:localhost.localdomainvip:192.168.2.33 一、先配置DB1和DB2的双主热备 1、分别在DB1和DB2上安装mysql,我这里是用的ansible自动部署[roo...

mark's technic world 306

mysqlkeepalived脑裂

mysql keepalive+ 双主多从是怎么做的 我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服...

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 460

高可用性之Keepalived+Mysql

MySQL高可用性之Keepalived+Mysql(双主热备) 2014-02-23 11:00:07 标签:mysql 高可用 msql双机热备 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lizhenliang.blog.51cto.com/7876557/1362313 环境描述: OS

zxl2016的博客 342

Keepalived+Mysql

#允许远程root连接到mysqlgrant all privileges on *.* to 'root'@'%' identified by '142857'with grant option; #也适用新建用户 grant all privileges on *.* to 'amo'@'%' identified by '123456'with grant option; mys...

weixin_30640291的博客 194

基于keepalived Mysql双主热备配置

基于keepalived双主热备: 一.环境: OS:CentOS 6.5 X64 DB Version:Percona Mysql 5.7.15-9-log 路径:/app/mysql57 数据文件路径:/data/...

cuanshao4773的博客 127

mysql 双主热备

1、环境准备 安装三个mysql应用服务端口分别设置为192.168.81.134:3310(主节点master)、192.168.81.134:3311(主节点master1)、192.168.81.134:3308(从节点slave2) 2、双主热备、主从复制架构 master和master1互为主从关系,slave1为单独从节点 (1)master与master1双主配置 在master节点的my.cnf文件配置如下 #主从复制配置 server-id =1 ...

fengchengwu2012的博客 7517
上一篇: MySQL+Amoeba 实现主从复制+读写分离+负载均衡
下一篇: MySQL优化(开启慢查询日志/查询缓存日志)
Elijah-X
博客等级 码龄7年 6粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值