keepalived是如何实现MySQL高可用的?

  • 时间:
  • 浏览:1
  • 来源:uu快3单双计划_uu快3安卓版_真假

2 主库开启心跳 定期更新一跳心跳记录 备库上查看心跳记录的时间戳和系统当前时间的差异 将会差异超过一定时间 则只有切换到主库

正常切换

先看第一每项,检测系统上3506端口,监控的途径是通过/opt/dtstack/dtagent/agent/mysqlha_check_alive.py 3506这条命令来判断的,就说 判断系统3506端口是是是否是是指在,将会你的MySQL是别的端口,只有 就要能 作下更改,脚本是一大神写的,就不贴出来了。

Keepalived的部署比较容易,直接还要能 yum 安装,主要的就说 他的参数文件,参数文件是如保控制主备的。

一组vrrp路由协同工作一起构成一台虚拟路由器 vrrp中指在有一种选举机制 用以选出提供服务的路由 即主控路由 或多或少则成了备份路由 当主控路由失效后 备份路由中会重新选举出另一有4个主控路由来继续工作 来保障不间断

工作原理:VRRP(vritual router redundancy protocol)虚拟路由冗余协议

最后一每项就说 debug的地方了,就不完整篇 说明了。

正常切换是指主库能正常访问 切换的之后保证主备数据库一致

MySQL切换无非有一种,有一种是人为切换,有一种是天灾。也就说 有一种是正常切换有一种是异常切换。

手动修改数据库连接配置显然要能 很好的土办法 修改时间不可控

dns切换解决了后边哪此疑问

异常切换是指主库指在异常 无法连接到主库的情况报告

3 备库上关闭只读模式(set global read_only=0)

1 将会传输到备库的binlog要能 执行完成

keepalived安装下 两台物理服务器上 并互相监控对方是是是否是是正常运行

后边步骤任何步骤失败 则切换失败 在或多或少情况报告下 无法将主库设置成只读 则备库延迟时间太长 则无法进行正常的主备切换

首先朋友来看一下通过Keepalived实现,要能 对MySQL有哪此要求

1 主库设置只读 kill主库任务管理器运行运行

vrrp路由器是指运行的vrrp路由器是物理实体 虚拟路由器是指vrrp协议创建的 是逻辑概念

还要能 看完eth0网卡上起着另一有4个IP,另一有4个是本机IP,就说 就说 VIP,这之后,朋友就还要能 通过這個VIP对朋友的MySQL数据进行访问了。

3 使用VIP

2 使用dns 主备切换后 将dns指向新的主库

再来看第二每项,這個每项主要决定的你这台机器上的3506端口是是是否是是是主库,有时候这台机器的外网是要能 eth0网卡上。

异常切换

keepalived原理:

正常切换的流程

1 手动修改应用配置

主库切换之后 还要能 将任务管理器运行运行的数据库切换备库,还要能 通过以下途径来实现切换:

有时候朋友来看一下数据库在不同情况报告下,切换是如保进行的:

MySQL要能 采用MM基因重组内部管理,也就说 master-master。当一台为主库的之后,备库开启只读模式(set global read_only=1)

2 备库上等待主库将所有binlog都将会传过来 有时候binlog执行完成

当A工作正常的之后 会将VIP对应的MAC地址为节点A网卡的MAC地址

部署完Keepalived,有时候修改完对应的参数文件后,朋友启用VIP

就说 用Keepalived,就还要能 解决主库挂掉之后,我的代码找只有目的地的情况报告。确实就说 给了这两台数据库另一有4个IP,供朋友访问

将会一台机器上起着多个MySQL端口,也还要能 多些一每项,缺检测不同端口是是是否是是存活。

异常切换的情况报告下 无法保证数据严格一致 有几种土办法保证主备库数据尽将会一致

当A指在故障的之后 节点B上的keepalived会检测到 并将VIP的MAC等于B的MAC地址

有时候朋友查看一下主库的IP上是是是否是是飘着朋友的VIP