mysql双主互从通过KeepAlived虚拟IP实现高可用

这篇具有很好参考价值的文章主要介绍了mysql双主互从通过KeepAlived虚拟IP实现高可用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

mysql双主互从通过KeepAlived虚拟IP实现高可用

在mysql 双主互从的基础上,
架构图:
mysql双主互从通过KeepAlived虚拟IP实现高可用,docker,Mysql,mysql
Keepalived有两个主要的功能:

  • 提供虚拟IP,实现双机热备
  • 通过LVS,实现负载均衡

安装

# 安装
yum -y install keepalived 
# 卸载
yum remove keepalived 

修改 keepalived 配置文件

cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.original
vi /etc/keepalived/keepalived.conf

master

keepalived.conf

global_defs {
	router_id LVS_1
	script_user root
}

vrrp_script check_mysql_port {
	script "/etc/keepalived/check_mysql_port.sh"    # 脚本存放的位置
	interval 2     # 每隔两秒运行上一行脚本
	weight 2
}


vrrp_instance VI_1 {
    # 主机=MASTER;备用机=BACKUP
	state MASTER
    # 该实例绑定的网卡名称
	interface ens192
    # 保证主备节点一致
	virtual_router_id 148
    # 权重,master值 > backup值
	priority 100
    # 主备组播报发送间隔时间1秒
	advert_int 1
    # 认证权限密码,防止非法节点进入
	authentication {
    auth_type PASS
    auth_pass 1111
	}	
    # 虚拟出来的ip,可以有多个(vip)
	virtual_ipaddress {
    178.119.30.13
	}
    # 调用监控脚本
	track_script {
    check_mysql_port
	}
}

检测xxx.sh

check_mysql_port.sh

安装killall 命令

# 查询
yum search killall
# 安装对应组件
yum install psmisc -y

安装netstat

yum install -y net-tools
#!/bin/bash
A=`netstat -nltp|grep 3306|wc -l`
if [ $A -eq 2 ];
then
    echo "$host mysql login successfully"
    exit 0
else
    echo "mysql login failed"
    killall keepalived
    exit 2
fi

修改脚本xxx.sh权限

chmod 777 check_mysql_port.sh

slave

keepalived.conf

global_defs {
	router_id LVS_1
	script_user root
}

vrrp_script check_mysql_port {
	script "/etc/keepalived/check_mysql_port.sh"    # 脚本存放的位置
	interval 2     # 每隔两秒运行上一行脚本
	weight 2
}


vrrp_instance VI_1 {
    # 主机=MASTER;备用机=BACKUP
	state BACKUP
    # 该实例绑定的网卡名称
	interface ens192
    # 保证主备节点一致
	virtual_router_id 148
    # 权重,master值 > backup值
	priority 80
    # 主备组播报发送间隔时间1秒
	advert_int 1
    # 认证权限密码,防止非法节点进入
	authentication {
    auth_type PASS
    auth_pass 1111
	}	
    # 虚拟出来的ip,可以有多个(vip)
	virtual_ipaddress {
    178.119.30.13
	}
    # 调用监控脚本
	track_script {
    check_mysql_port
	}
}

master VS slave

mysql双主互从通过KeepAlived虚拟IP实现高可用,docker,Mysql,mysql

结果展示

启动keepalived

  • master

mysql双主互从通过KeepAlived虚拟IP实现高可用,docker,Mysql,mysql
mysql双主互从通过KeepAlived虚拟IP实现高可用,docker,Mysql,mysql
mysql双主互从通过KeepAlived虚拟IP实现高可用,docker,Mysql,mysql

  • slave

mysql双主互从通过KeepAlived虚拟IP实现高可用,docker,Mysql,mysql

停止容器,使vip飘移

  • master
    mysql双主互从通过KeepAlived虚拟IP实现高可用,docker,Mysql,mysql
    mysql双主互从通过KeepAlived虚拟IP实现高可用,docker,Mysql,mysql
  • slave
    mysql双主互从通过KeepAlived虚拟IP实现高可用,docker,Mysql,mysql
    mysql双主互从通过KeepAlived虚拟IP实现高可用,docker,Mysql,mysql

systemctl 命令

# 启动 keepalived
systemctl start keepalived  

# 加入开机启动 keepalived
systemctl enable keepalived 

# 重新启动 keepalived
systemctl restart keepalived  

# 查看 keepalived 状态
systemctl status keepalived   

# 加载配置文件
systemctl daemon-reload

service VS systemctl

mysql双主互从通过KeepAlived虚拟IP实现高可用,docker,Mysql,mysql文章来源地址https://www.toymoban.com/news/detail-729486.html

到了这里,关于mysql双主互从通过KeepAlived虚拟IP实现高可用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • nginx+keepalived双主模式双主热备

    目录 一、双主模式原理 1. nginx+keepalived主备模式缺点 2. 主备模式和双主模式的区别 二、配置文件 1. nginx01的keepalived.conf 2. nginx02的keepalived.conf 3. 检测nginx存活脚本文件nginx_check.sh 三、测试准备 1. 启动nginx01、nginx02 2. 启动keepalived 3. 查看网卡信息 四、测试 1. 测试VIP访问 2. 测试

    2024年01月16日
    浏览(26)
  • Keepalived + Nginx双主架构

    Keepalived + Nginx 双主架构 环境准备: keepalived_master1服务器+nginx:172.20.26.167 keepalived_master2服务器+nginx:172.20.26.198 各服务器关闭selinux、防火墙等服务。 开机安装部署nginx 在172.20.26.167服务器上 yum install nginx -y echo \\\"this is 167server\\\" /usr/share/nginx/html/index.html  #修改主页内容,方便区

    2024年01月23日
    浏览(30)
  • keepalived虚拟IP无法访问

    问题:keepalived配置好后,虚拟IP无法PING通,也无法正常访问 环境:centos7.9 排查过程: tcpdump抓包,发现能够报文都正常到达了 iptables -nL 发现keepalived增加了如下规则,导致报文被丢弃 解决方案: 删除配置中的 vrrp_strict,重启keepalived

    2024年02月06日
    浏览(20)
  • keepalived脑裂后,近20min不能访问虚拟IP问题分析

    真实的场景比较复杂,抽象起来可以用下面的图表示, 图示说明 server1 和server2 分别部署keepalived,有一个虚拟IP (VIP). Router和switch 是路由交换设备,这里用的功能都是一样的,并不做区别. 正常情况下,client1 可以访问VIP,server3也可以访问VIP,这里访问采用ping方式,下同。

    2024年02月07日
    浏览(19)
  • MySQL系列:限制IP访问,通过授权的方式实现

    一、允许用户所有IP访问 更改  mysql  数据库里的  user  表里的  host  项,从 localhost\\\" 改成 % 即可。有两种方式可以实现。 第一种:直接修改 user  表 第二种:授权的方式 二、限制某个IP或者IP段访问 建议通过授权的方式实现。 注意: 1、注意授权后必须FLUSH PRIVILEGES;否则无

    2024年02月12日
    浏览(29)
  • keepalived 实现 IP 地址漂移

    🎈 作者: Linux猿 🎈 简介: CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! 🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬 目录 一、实验环境 二、安装软件 2.1 安装 keepalived 和 ipvsadm 2.2 安装 httpd 2.3 配

    2024年02月13日
    浏览(20)
  • 通过keepalived+nginx实现 k8s apiserver节点高可用

    K8s 主机配置: 配置: 4Gib 内存/4vCPU/60G 硬盘 网络:机器相互可以通信 k8s 实验环境网络规划: podSubnet(pod 网段) 10.244.0.0/16 serviceSubnet(service 网段): 10.96.0.0/12 物理机网段:192.168.1.0/24 2个控制节点2个工作节点 K8S集群角色 IP地址 主机名 安装的组件 控制节点 192.168.1.63 xueg

    2024年02月03日
    浏览(28)
  • 虚拟机中使用Nginx + Keepalived 实现高可用 Web 负载均衡笔记

    物理操作系统:Windows10 虚拟机软件:VMWare Workstation 16 Pro 虚拟操作系统统:CentOS7 Nginx:1.24.0 Keepalived:2.2.8 在VMWare Worksattion中安装了2台CentOS7的虚拟机,桥接方式下IP地址分别为:192.168.0.35、192.168.0.36 VIP IP 主机名 Nginx端口 默认主从 192.168.0.100 192.168.0.35 wongoing01 88 MASTER 192.168

    2024年02月11日
    浏览(49)
  • MySQL 双主配置

    最少两台MySQL服务器: 192.168.152.130 192.168.152.132 两台MySQL服务器双方Ping通,且3306端口telnet互通。 部署环境: centos7.8 mysql5.7.31 1、在 130 上配置,打开配置文件,并写入如下配置: vi /etc/my.cnf 2、在 132 上配置,打开配置文件,并写入如下配置: 修改完成后,重启两台MySQL服务

    2024年02月14日
    浏览(24)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包