keepalived + mysql主从

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

mysql高可用服务部署


Mysql主从搭建完毕,(mysql 主从部署请看MySQL 主从复制)现在有一个问题,如果master服务器down机了,如何快速恢复服务呢?

    我们有两套解决方法:

    1.如果程序连接的是master的IP,直接在slave服务器上添加master的IP即可。这个手动去操作,而且需要花费时间比较长,可能还会出现误操作的情况,不推荐

    

    2.可以使用keepalived、heartbeat作为HA检测软件,检查MySQL服务是否正常,不正常则自动切换到slave上,推荐使用


那么我们接下来就看一下如何实现:


cd /data

yum    -y    install    kernel-devel  popt-devel  openssl-devel  

wget http://keepalived.org/software/keepalived-1.2.1.tar.gz

tar zxf keepalived-1.2.1.tar.gz 

cd keepalived-1.2.1

./configure --prefix=/usr/local/keepalived

       --with-kernel-dir=/usr/src/kernels/2.6.32-573.7.1.el6.x86_64/


在编译的时候会遇到一些问题

****************************************************************************************


wKioL1YU0e6CYe1VAAIjrFQir0Q579.jpg

注意:若此处 /usr/src/kenels/ 下没东西,可能过安装 kernel-devel 组件:

    yum -y install kernel-devel

    安装后,执行以上操作


wKiom1YU0-6j03-8AAHaXnmBRCA818.jpg说明缺少popt-devel 组件,安装此组件即可:

    yum -y install popt-devel


wKioL1YU4Sqzy7yBAAGosEJfU1Y385.jpg


出现此提示,是缺少openssl-devel 组件,直接安装即可

****************************************************************************************




wKiom1YU1NrgykvWAAImzIiTmPM110.jpg

出现此界面,证编译成功


    make && make install ;echo $?


wKioL1YU2CKDMRd5AAF3CUPrSNo016.jpg

若返回0,即证明安装成功


设置开机启动

    cp /usr/local/keepalived/etc/rc.d/init.d/keepalived     /etc/rc.d/init.d

    cp /usr/local/keepalived/etc/sysconfig/keepalived    /etc/sysconfig

    cp /usr/local/keepalived/sbin/keepalived        /usr/sbin

    chkconfig --add keepalived

    chkconfig --level 35 keepalived on

wKioL1YU2R7jOUYXAANVgWCY7hg526.jpg

keepalived 安装成功


mkdir -p /etc/keepalived


配置master服务器,keepalived配置文件内容如下:


vim /etc/keepalived/keepalived.conf


! Configuration File for keepalived 

global_defs { 

  notification_email { 

     185869915@163.com

  } 

  notification_email_from 185869915@163.com

  smtp_server 127.0.0.1 

  smtp_connect_timeout 30 

  router_id LVS_DEVEL 

# VIP1 

vrrp_instance VI_1 { 

   state BACKUP   

   interface eth0 

   lvs_sync_daemon_inteface eth0 

   virtual_router_id 151 

   priority 100 

   advert_int 5 

   nopreempt 

   authentication { 

       auth_type PASS 

       auth_pass 2222 

   } 

   virtual_ipaddress { 

       192.168.10.200                      #此处为虚拟IP

   } 

virtual_server 192.168.33.100 3306 { 

   delay_loop 6    

   lb_algo wrr    

   lb_kind DR   

   persistence_timeout 60    

   protocol TCP         

    real_server 192.168.10.171  3306 {              #此处为你的真实机IP

       weight 100        

       notify_down /data/sh/mysql.sh  #此处为关闭 keepalived 的脚本地址

       TCP_CHECK { 

       connect_timeout 10 

       nb_get_retry 3 

        delay_before_retry 3 

       connect_port 3306 

       } 

   } 

}


mysql从 主机部署与主相同,只需将配置文件中的 real_server 修改为自己的IP ,将优先级修改为小于100的数字即可


mysql.sh 脚本内容为:


#!/bin/bash

pkill -0 mysqld

if [[ ! $? -eq 0 ]];then

    /etc/init.d/mysqld start

    sleep 5

    pkill -0 mysqld

        if [[ ! $? -eq 0 ]];then

            pkill keepalived

        fi

fi


给脚本执行权限:

    chmod +x /data/sh/mysql.sh

本文转自   tianshuai369   51CTO博客,原文链接:http://blog.51cto.com/songqinglong/1700670


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 MySQL Shell
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
1524 0
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
|
6月前
|
关系型数据库 MySQL
MySQL高可用性之Keepalived+Mysql(双主热备)
MySQL高可用性之Keepalived+Mysql(双主热备)
|
6月前
|
关系型数据库 MySQL Linux
centos7下 Mysql+Keepalived 双主热备高可用图文配置详解
centos7下 Mysql+Keepalived 双主热备高可用图文配置详解
112 0
|
负载均衡 网络协议 关系型数据库
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景 2
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景
186 2
|
关系型数据库 MySQL 网络安全
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景 1
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景
141 0
|
SQL 关系型数据库 MySQL
MySQL + Keepalived 双主热备搭建
MySQL + Keepalived 双主热备搭建
1092 1
MySQL + Keepalived 双主热备搭建
|
关系型数据库 MySQL Linux
Linux篇-mysql + keepalived高可用
Linux篇-mysql + keepalived高可用
185 0
Linux篇-mysql + keepalived高可用
|
负载均衡 关系型数据库 MySQL
使用 LVS+Keepalived 实现 MySQL 双主复制负载均衡高可用
使用 LVS+Keepalived 实现 MySQL 双主复制负载均衡高可用
956 0
使用 LVS+Keepalived 实现 MySQL 双主复制负载均衡高可用
|
负载均衡 关系型数据库 MySQL
MySQL主主模式+Keepalived高可用
先来说说背景吧,现在的项目为了高可用性,都是避免单节点的存在的,比如,我们的应用程序,都是部署多个节点,通过Nginx做负载均衡,某个节点出现问题,并不会影响整体应用。那么数据库层如何搭建高可用的架构呢?今天我们就来看看。
6241 1
MySQL主主模式+Keepalived高可用
|
关系型数据库 Shell
Keepalived+MySQL双主配置实践
整理了近期在项目上做的一些技术研究,希望与大家共同探讨交流。 一:环境介绍 master1:10.124.151.20 master2:10.124.151.22 VIP:10.124.
2124 0