环境: centos6.5_x64

准备:

两台mysql机器

主1 master:  192.168.32.130

主2 backup:  192.168.32.131

VIP: 192.168.32.100

步骤:

1.配置mysql的双主架构

2.安装keepalived

keepalived-1.2.23.tar.gz

yum -y install openssl openssl-devel

wget http://www.keepalived.org/software/keepalived-1.2.23.tar.gz

tar zxvf keepalived-1.2.23.tar.gz

cd keepalived-1.2.23

./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.18-164.el5-i686

make && make install

3.把keepalived设置为系统服务

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

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

mkdir /etc/keepalived/

cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

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

4.修改keepalived配置

vi /etc/keepalived/keepalived.conf  //详见.conf详细配置

vi /usr/local/keepalived/mysql.sh

#!/bin/bash

pkill keepalived

chmod +x /usr/local/keepalived/mysql.sh

/etc/init.d/keepalived start

5.测试

5.1 分别在两台mysql机器上授权, 允许用户远程登录

mysql> grant all on *.* to'kkk'@'192.168.32.%' identified by '123456';

mysql> flush privileges;

5.2 在任何一台机器上, 通过虚拟IP来连接mysql服务器

mysql -ukkk -p123456 -h192.168.32.100

5.3 停止master,看是否能正常切换到backup,然后来查看VIP在哪台服务器上

service mysqld stop

ip addr

5.4 master服务器故障恢复后,是否主动抢占资源,成为活动服务器 (取决于这个参数nopreempt)

keepalived.conf详细配置

! Configuration File for keepalived

global_defs {

   notification_email {

     acassen@firewall.loc

     failover@firewall.loc

     sysadmin@firewall.loc

   }

   notification_email_from Alexandre.Cassen@firewall.loc

   smtp_server 192.168.200.1

   smtp_connect_timeout 

   router_id LVS_DEVEL

   vrrp_skip_check_adv_addr

   vrrp_strict

   vrrp_garp_interval 

   vrrp_gna_interval 

}

vrrp_instance VI_1 {

    state BACKUP

    interface eth0

    virtual_router_id 

    priority   #优先级 (backup设置为90)

    advert_int 

    nopreempt  #不主动抢占资源,只在master这台优先级高的设置 (backup不设置) 

    authentication {

        auth_type PASS

        auth_pass 

    }

    virtual_ipaddress {

        192.168.32.100

    }

}

virtual_server  {

     delay_loop 

     #lb_algo wrr

     #lb_kind DR

     persistence_timeout 

     protocol TCP

     real_server  {  #真实mysql服务器的ip地址

         weight 

         notify_down /usr/local/keepalived/mysql.sh  #貌似没有执行脚本, why?

         TCP_CHECK {

             connect_timeout 

             nb_get_retry 

             delay_before_retry 

             connect_port 

         }

     }

;

mysql系列之8.mysql高可用 (keepalived)的更多相关文章

  1. [转帖]【MySQL+keepalived】用keepalived实现MySQL主主模式的高可用

    [MySQL+keepalived]用keepalived实现MySQL主主模式的高可用 https://www.jianshu.com/p/8694d07595bc 一.实验说明 MySQL主主模式 ...

  2. 利用keepalive+mysql replication 实现数据库的高可用

    利用keepalive+mysql replication 实现数据库的高可用 http://www.xuchanggang.cn/archives/866.html

  3. Mysql双主双从高可用集群的搭建且与MyCat进行整合

    1.概述 老话说的好:瞻前顾后.患得患失只会让我们失败,下定决心,干就完了. 言归正传,之前我们聊了Mysql的一主一从读写分离集群的搭建,虽然一主一从或一主多从集群解决了并发读的问题,但由于主节点只 ...

  4. linux 高可用----keepalived+lvs

    什么是高可用? HA(high availability)即高可用性:就是在高可用集群中发生单点故障时,能够自动转移资源并切换服务,以保证服务一直在线的机制. LVS LVS:(linux virtu ...

  5. 解决nginx负载均衡高可用keepalived只针对物理机的问题

    在高可用keepalived软件,在默认的情况下仅仅在对方机器宕机或keepalived停掉的时候才会接管业务. 但是在实际工作过程中,例如在nginx负载均衡工作实例中,nginx服务已停止,而ke ...

  6. 高可用Keepalived+LVS搭建流程

    本流程搭建1个master,1个backup节点的Keepalived,使用lvs轮询2个节点的服务. 一.使用版本 CentOS 7.7 Keepalived 1.3.5 ipvsadm 1.27( ...

  7. 通过keepalived搭建MySQL双主模式的高可用集群系统

    1. 配置MySQL双主模式 1.修改my.cnf配置文件 默认情况下,MySQL的配置文件是/etc/my.cnf,在配置文件的[mysqld]段添加如下内容: server-id=1 log-bi ...

  8. 【Keepalived+MySQL】MySQL双主互备+高可用

    一.基本信息说明 [DB1] IP: 192.168.102.144 hostname: LVS-Real1 [DB2] IP: 192.168.102.145 hostname: LVS-Real2 ...

  9. 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)(原创)

    前言:          原理与思想        这里选用GTID主从复制模式Mysql主从复制模式,是为了更加确保主从复制的正确性.健康性与易配性.这里做的是两服务器A,B各有Mysql实例331 ...

随机推荐

  1. Java死锁及解决

    Java线程死锁如何避免这一悲剧  Java线程死锁需要如何解决,这个问题一直在我们不断的使用中需要只有不断的关键.不幸的是,使用上锁会带来其他问题.让我们来看一些常见问题以及相应的解决方法: Jav ...

  2. bzoj 5125: [Lydsy1712月赛]小Q的书架

    新学了一波 决策单调性 dp 套路.... 这种dp一般是长这样的 => f[i][j] = max/min  { f[i-1][k] + cost(k+1,j)} ,其中cost函数满足四边形 ...

  3. jquery中的数据传输

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  4. 基于WPF系统框架设计(6)-整合MVVM框架(Prism)

    应用场景 我们基础的框架已经搭建起来了,现在整合MVVM框架Prism,在ViewModel做一些逻辑处理,真正把界面设计分离出来. 这样方便我们系统开发分工合作,同时提高系统可维护性和灵活性. 具体 ...

  5. Move resources allocated using unmanaged interface to managed devm interface

    转载:http://blog.csdn.net/swingboard/article/details/27207497   So today let’s talk about devm functio ...

  6. MFC 消息类型

    标准(窗口)消息:窗口消息一般与窗口内部运作有关,如创建窗口,绘制窗口,销毁窗口,通常,消息是从系统发到窗口,或从窗口发到系统.发送函数SendMessage()或者PostMessage().除WM ...

  7. python 查询,子查询以及1对多查询

    1.添加数据: # 方法1:对象.save() book = Book(**kwargs) book.save() # 方法2:类.create(**kwargs) Book.create(**kwa ...

  8. vs:如何添加.dll文件

    Newtonsoft.Json.dll  一个第三方的json序列化和反序列化dll,转换成json供页面使用,页面json数据转换成对象,供.net使用 Mysql.Data.dll  mysql数 ...

  9. 一款炫酷Loading动画--载入成功

    简单介绍 昨天在简书上看到一篇文章.介绍了一个载入动画的实现过程 一款Loading动画的实现思路(一) 仅仅可惜原动画是IOS上制作的.而看了一下.作者的实现思路比較复杂,于是趁着空暇写了一个And ...

  10. C语言 结构体篇

    结构体:是一种构造类型 它是由若干成员组成的 其中每一个成员都可以是一个基本数据类型或者又是一个构造类型 定义结构体变量后,系统就会为其自动分配内存 为了便于更大的程序便于修改和使用  常常将结构体类 ...