基于Keepalived的Mysql双主单活故障自动切换方案(二)

举报
pro_cheng 发表于 2017/11/25 15:13:40 2017/11/25
【摘要】 本文介绍了基于Keepalived的Mysql双主单活故障自动切换方案中Mysql双主部署及配置方式。首先讲述了Mysql数据同步原理,然后讲述了在该方案中Mysql的各项配置设置。

  本文介绍基于Keepalived的Mysql双主单活故障自动切换方案中Mysql双主部署及配置方式。


1、MySQL数据同步原理

MySQL数据同步简单的说就是把一个服务器上执行过的sql语句在别的服务器上也重复执行一遍, 这样只要两个数据库的初态是一样的,那么它们就能一直同步。这种复制和重复都是MySQL自动实现的,我们只需要配置即可。MySQL主从复制示意图如下:

image.png

                   1  MySQL-从复制示意图


   上图中有两个服务器, 演示了从一个主服务器(master 把数据同步到从服务器(slave)的过程。这是一个主-从复制的例子。 -主互相复制只是把上面的例子反过来再做一遍。 -从复制原理如下:

     1)作为主服务器Master,会把自己的每一次改动都记录到二进制日志Binarylog中。(从服务器会负责来读取这个log,然后在自己那里再执行一遍。)

     2)作为从服务器Slave,会用master上的账号登陆到master上,读取masterBinarylog,写入到自己的中继日志 Relaylog。然后自己的sql线程会负责读取这个中继日志,并执行一遍。到这里主服务器上的更改就同步到从服务器上了。

     3)在mysql上可以查看当前服务器的主从状态。其实就是当前服务器的 Binary(作为主服务器角色)状态和位置。以及其RelayLog(作为从服务器)的复制进度。


2、MySQL部署及配置设置

    1)在两个节点AB上分别安装MySQL

    2)在节点AB上分别创建专门用于备份的用户,并只允许对方登录

    3)修改数据库配置文件my.cnf,指定关注的数据库、忽略的数据库、节点的id、中继日志名称等信息,并指定log_slave_updates打开。注意两个节点的id不能相同。

    4)导入初态,开始同步。

    5)重启MySQL,查看slave线程是否开启,两节点截图如下:

image.png

                            图2 节点A slave状态图


image.png

                         图3 节点B slave状态图

  注意以上两个截图中,Slave_IO_RunningSlave_SQL_Running均为YES则表示启动成功。


  keepalived健康检查方案及具体主备倒换配置脚本,将在后续博客中进行讲解。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。