ubuntu16.04下的mysql双机热备实操

本文详细介绍了在Ubuntu 16.04环境下如何配置MySQL的双主热备,利用Keepalived实现故障切换和高可用性。通过设置两台MySQL服务器互为主备,并结合Keepalived的VRRP协议,确保在一台服务器故障时,服务能无缝切换到另一台,保证业务连续性。
摘要由CSDN通过智能技术生成

双机热备的原理:

从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。
从我本次的环境中为公司搭建实现两套mysql的双机热备,就是使两台mysql互为主备,在一套服务出现故障的时候即使切换另一台备份服务器,即使对外提供服务  ,双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换。使用Keepalived,可以通过虚拟IP,实现双主对外的统一接口以及自动检查、失败切换机制,从而实现MySQL数据库的高可用方案。下面说下Mysql+keeoalived双主热备高可用方案的实施。 
整个系统架构中最为重要的就是keepalived的VRRP(虚拟路由冗余协议)协议,是实现故障转移最为重要的基础,由VRRP所创建出来的虚拟路由器由主路由器和备份路由器组成,是路基概念的,一组虚拟路由器协同工作共同架构一套虚拟路由器,VRRP协议选举机制,选举出主路由器,其他为备份路由器,当主路由器宕机以后,会选举出新的主路由器,来继续工作从而保障服务不间断地进行。
(1)实现mysql的双主备份:先实现主从同步,再反过来实现主从同步,从而实现双主备份。
(2)再结合Keepalived的使用,通过VIP实现Mysql双主对外连接的统一接口。即客户端通过Vip连接数据库;当其中一台宕机后,VIP会漂移到另一台上,这个过程对于客户端的数据连接来说几乎无感觉,从而实现高可用

环境描述:

Ubuntu16.04

Master1:192.168.30.20   安装mysql keepailved

Master2192.168.30.2   安装mysql keepailved

Vip: 192.168.30.22(这个可以改成公网,实现对外连接)

要实现主主同步,可以先实现主从同步,即master1->master2的主从同步,然后master2->master1的主从同步.

这样,双方就完成了主主同步。

 

注意下面几点:

1)要保证同步服务期间之间的网络联通。即能相互ping通,能使用对方授权信息连接到对方数据库(防火墙开放3306端口)。在这里我是将防火墙全部关闭 iptables -F

2)同步前,双方数据库中需要同步的数据要保持一致。这样,同步环境实现后,再次更新的数据就会如期同步了。

一、Mysql主主同步环境部署

Mysql下载mysql二进制包安装

wgethttps://dev.mysql.com/downloads/file/?id=473335

tar -xvfmysql-server_5.7.20-1ubuntu16.04_amd64.deb-bundle.tar

 

解压后得到一系列的.deb文件。依次为:

libmysqlclient20_5.7.20-1ubuntu16.04_amd64.deb

libmysqlclient-dev_5.7.20-1ubuntu16.04_amd64.deb

libmysqld-dev_5.7.20-1ubuntu16.04_amd64.deb

mysql-client_5.7.20-1ubuntu16.04_amd64.deb

mysql-common_5.7.20-1ubuntu16.04_amd64.deb

mysql-community-client_5.7.20-1ubuntu16.04_amd64.deb

mysql-community-server_5.7.20-1ubuntu16.04_amd64.deb

mysql-community-source_5.7.20-1ubuntu16.04_amd64.deb

mysql-community-test_5.7.20-1ubuntu16.04_amd64.deb

mysql-server_5.7.20-1ubuntu16.04_amd64.deb

mysql-server_5.7.20-1ubuntu16.04_amd64.deb-bundle.tar

mysql-testsuite_5.7.20-1ubuntu16.04_amd64.deb

 

3.安装文件

这里这些文件存在着依赖关系,如果一个一个安装,要安装顺序来安装:

dpkg -imysql-common_5.7.20-1ubuntu16.04_amd64.deb

dpkg -ilibmysqlclient20_5.7.20-1ubuntu16.04_amd64.deb

dpkg -ilibmysqlclient-dev_5.7.20-1ubuntu16.04_amd64.deb

dpkg -ilibmysqld-dev_5.7.20-1ubuntu16.04_amd64.deb

注意在安装mysql-community-server会要求输入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值