基于Keepalived的Mysql双主单活故障自动切换方案(二)
本文介绍基于Keepalived的Mysql双主单活故障自动切换方案中Mysql双主部署及配置方式。
1、MySQL数据同步原理
MySQL数据同步简单的说就是把一个服务器上执行过的sql语句在别的服务器上也重复执行一遍, 这样只要两个数据库的初态是一样的,那么它们就能一直同步。这种复制和重复都是MySQL自动实现的,我们只需要配置即可。MySQL主从复制示意图如下:
图1 MySQL主-从复制示意图
上图中有两个服务器, 演示了从一个主服务器(master) 把数据同步到从服务器(slave)的过程。这是一个主-从复制的例子。 主-主互相复制只是把上面的例子反过来再做一遍。 主-从复制原理如下:
1)作为主服务器Master,会把自己的每一次改动都记录到二进制日志Binarylog中。(从服务器会负责来读取这个log,然后在自己那里再执行一遍。)
2)作为从服务器Slave,会用master上的账号登陆到master上,读取master的Binarylog,写入到自己的中继日志 Relaylog。然后自己的sql线程会负责读取这个中继日志,并执行一遍。到这里主服务器上的更改就同步到从服务器上了。
3)在mysql上可以查看当前服务器的主从状态。其实就是当前服务器的 Binary(作为主服务器角色)状态和位置。以及其RelayLog(作为从服务器)的复制进度。
2、MySQL部署及配置设置
1)在两个节点A、B上分别安装MySQL
2)在节点A、B上分别创建专门用于备份的用户,并只允许对方登录
3)修改数据库配置文件my.cnf,指定关注的数据库、忽略的数据库、节点的id、中继日志名称等信息,并指定log_slave_updates打开。注意两个节点的id不能相同。
4)导入初态,开始同步。
5)重启MySQL,查看slave线程是否开启,两节点截图如下:
图2 节点A slave状态图
图3 节点B slave状态图
注意以上两个截图中,Slave_IO_Running、Slave_SQL_Running均为YES则表示启动成功。
keepalived健康检查方案及具体主备倒换配置脚本,将在后续博客中进行讲解。
- 点赞
- 收藏
- 关注作者
评论(0)