暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Docker下构建MySQL 主主配置+keepalived 集群环境
825
19页
4次
2022-10-27
10墨值下载
Docker 下构建 MySQL 主主+keepalived
集群环境
一、 概述
1.1 目的
为解决 Mysql 数据库单点问题实现数据库的高可用。 Master 数据库出现问题时,Slave
切换为 Master 继续工作。 Master 主机宕机时,由于无法通过 scp 拷贝位置文件,会导致
无法恢复同步复制,需手动恢复同步复制。
1.2 环境说明
序号
服务器 IP
用途
备注
1
172.19.0.2
主机 A
Master mysql01
2
172.19.0.3
主机 B
Slave mysql02
3
172.19.0.110
VIP
二、 切换原理和过程
Keepalived 可实现将虚拟 IP 地址在实体物理机上来回漂移,Keepalived 在转换状态时会依
照状态来呼叫配置文件中内置的定义。
当进入 Master 状态时会呼 notify_master 定义的脚本
当进入 Backup 状态时会呼 notify_backup 定义的脚本
keepalived 程序终止时呼叫 notify_stop 定义的脚本
当发现异常情况时进入 Fault 状态呼叫 notify_fault 定义的脚本
切换的过程如下:
1)在 Master 主机上 keepalived 运行时执行 mycheck.sh 本不停的检查 mysql 的运行状态,
当发现 mysql 停止后 keepalived 进程杀掉。
2)此时 Slave 主机上会接管虚拟 IP 地址,并调用 notify_master 定义的脚本
3)当原 Master 主机上的 mysql keepalived 进程恢复正常后,会调用 notify_backup
义的脚本,此时数据库的主端还在 Savle 主机上。
4)回切,关闭 Slave 端的 keepavlied 进程,会调 notify_stop 脚本,同时 Master 主机
上会调用 notify_master 定义的脚本。此时数据库的主端在 Master 主机上
5)启动 Slave 端的 keepavlied 进程,会调 notify_backup 脚本,此时完成数据同步
三、 配置 Mysql 主从高可用
利用 docker-compose 来配置
3.1 文件列表
├── docker-compose.yml
└── mysql
├── master
├── config
├── keepalived.conf
├── my.cnf
└── mysqlenv
├── data
└── init
├── slave
├── config
├── keepalived.conf
├── my.cnf
└── mysqlenv
├── data
└── init
├── scripts
├── master
└── logs
├── slave
└── logs
├── mybackup.sh
├── mycheck.sh
of 19
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜