大家好,我是Tom哥
作为一名开发同学,大家对 MySQL 一定不陌生,像常见的 事务特性
、隔离级别
、索引
等也都是老生常谈。
今天,我们就来聊个深度话题,关于 MySQL 的 高可用
一、什么是高可用?
维基百科定义:
高可用性(high availability,缩写 HA),指系统无中断地执行其功能的能力,代表系统的可用性程度。高可用性通常通过提高系统的容错能力来实现。
MySQL 的高可用是如何实现的呢?
首先,我们来看张图
过程:
-
开始时,处理流程主要是
场景一
-
客户端
读、写
,访问的是主库 -
主库通过某种机制,将数据实时同步给备库
-
当主库突然发生故障(如:磁盘损坏等),无法正常响应客户端的请求。此时会
自动主备切换
,进入场景二
-
客户端读写,访问的是备库(此时备库升级为新主库)