我的配置:
 [root@mysql ~]# rpm -qa keepalived
keepalived-1.2.13-5.el6_6.x86_64
[root@mysql ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
[root@test ~]# mysql -uroot -p123 -h192.168.31.132
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 53
Server version: 5.5.46-log MySQL Community Server (GPL) by Remi
[root@mysql ~]# mysql -u root -p123 -h192.168.31.136
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 124
Server version: 5.5.32-MariaDB-log MariaDB Server

mysql服务器ip地址 mysqlVIP mysql版本
192.168.31.132 192.168.31.131  5.5.46-log MySQL Community Server
192.168.31.136 192.168.31.131 5.5.32-MariaDB-log MariaDB Server

这里mysql的安装和配置主主复制就不提了:
mysql的安装:网上很多不一一复制了
mysql主主复制配置案例: http://blog.chinaunix.net/uid-30234663-id-5192230.html
 开始配置安装:  
 1:下载安装keepalived(所有节点都要安装):
      [root@mysql ~]# yum install -y keepalived
然后配置如下:
   192.168.31.136配置:
    [root@mysql ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived
global_defs {
   notification_email {
        hz7726@163.com
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 60
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.31.131
    }
}
virtual_server 192.168.31.131 3306 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP
    real_server 192.168.31.136 3306 {
        weight 3
        notify_down /tmp/mysql.sh 
         TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
             connect_port 3306 
        }
    }
}
192.168.31.132的配置如下:
  [root@test ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
        hz7726@163.com
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 60
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.31.131
    }
}

virtual_server 192.168.31.131 3306 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP

real_server 192.168.31.132 3306 {
        weight 3
        notify_down /tmp/mysql.sh 
         TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
             connect_port 3306 
        }
    }
}
注意:要在两个服务器都要给其用户授权:不然报错如下
[root@test ~]# mysql -uroot -p123 -h192.168.31.131
ERROR 1045 (28000): Access denied for user 'root'@'192.168.31.131' (using password: YES)
解决办法:
mysql> grant all on *.* to root@'192.168.31.%' identified by '123';
Query OK, 0 rows affected (0.05 sec)

mysql>  flush privileges
    -> ;
Query OK, 0 rows affected (0.00 sec)
授权之后再在192.168.31.132和192。168.31.136上写mysql.sh检测脚本
如下:

#!/bin/sh 
pkill keepalived #检测资源放置脑裂
在测试随便一台服务器:
[root@mysql ~]# mysql -uroot -p123 -h 192.168.31.131

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| han                |
| hanye              |
| mysql              |
| performance_schema |
| test               |
+--------------------+
6 rows in set (0.00 sec)
停掉一台服务器在测试:
        valid_lft forever preferred_lft forever
[root@mysql ~]# pkill keepalived

[root@mysql ~]# mysql -uroot -p123 -h 192.168.31.131
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 54
Server version: 5.5.46-log MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blog_article02     |
| db1                |
| db2                |
| db3                |
| dbtest1            |
| dbtest2            |
| dbtest3            |
| mycat              |
| mysql              |
| performance_schema |
| syslog             |
+--------------------+
12 rows in set (0.07 sec)
注意:我这边两台服务器的数据是不一致的:更容易发现高可用成功与否!!!
[root@test ~]# ifconfig eth0 | awk -F'[: ]+' '/inet addr/{print $4}'
192.168.31.132
[root@test ~]# mysql -u root -p123
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 86
Server version: 5.5.46-log MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blog_article02     |
| db1                |
| db2                |
| db3                |
| dbtest1            |
| dbtest2            |
| dbtest3            |
| mycat              |
| mysql              |
| performance_schema |
| syslog             |
+--------------------+
12 rows in set (0.00 sec
[root@mysql ~]# ifconfig eth0 | awk -F'[: ]+' '/inet addr/{print $4}'
192.168.31.136
[root@mysql ~]# mysql -uroot -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 734
Server version: 5.5.32-MariaDB-log MariaDB Server

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| han                |
| hanye              |
| mysql              |
| performance_schema |
| test               |
+--------------------+
6 rows in set (0.00 sec)
ok了配置完成

转载于:https://blog.51cto.com/9025736/2061956

keepalived打造mysql主主高可用相关推荐

  1. keepalived mysql双主架构图_基于MySQL双主的高可用解决方案理论及实践

    MySQL在互联网应用中已经遍地开花,但是在银行系统中,还在生根发芽的阶段.本文记录的是根据某生产系统实际需求,对数据库高可用方案从需求.各高可用技术特点对比.实施.测试等过程进行整理,完善Mysql ...

  2. Keepalived+Haproxy+Mysql(双主)高可用架构部署

    Keepalived+Haproxy+Mysql(双主)高可用架构部署 一.背景 公司原部署的Mysql架构为keepalived+Mysql双主,但是这个架构有个缺陷是所有的读写请求都在一台机器上( ...

  3. 基于keepalived的mysql_【实用】基于keepalived的mysql双主高可用系统

    原标题:[实用]基于keepalived的mysql双主高可用系统 mysql单节点存储时,系统出现故障时服务不可用.不能及时恢复的问题,因此实际使用时,一般都会使用mysql双机方案,使用keepa ...

  4. python mysql 双主_keepalived+mysql双主复制高可用方案

    MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.而Keepalived通过虚拟IP,实现了 ...

  5. 深入浅出keepalived+nginx实现网关主备高可用

    深入浅出keepalived+nginx实现网关主备高可用 目录 背景 当用Nginx作网关的时候,如果网关宕机了,整个服务将会变得不可用,那么如何保证网关的高可用呢?我们可以用Keepalived来 ...

  6. 【博客551】实现主备高可用vip的几种方式

    实现主备高可用vip的几种方式 1.keepalived: 注意:要求网络环境有一定要求,需要组播报文不被抑制才可以 具体限制场景:keepalived的限制场景 使用keepalied来实现vip. ...

  7. 路由器snmp配置_基于keepalived配置数据库主从实现高可用

    基于keepalived配置数据库主从实现高可用 使用keepalived来监听端口,实现数据库的高可用.实现效果,其中一台数据库服务器突然出故障或关机时,应该不影响应用正常运行,等待服务器启动之后, ...

  8. MySQL数据库的高可用方案总结

    高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用.虽然互联网服务号称7*24小时不间断服务,但多多少少有一些时候服务不可用,比如某些时候网页打不开,百度不能搜索或者无法 ...

  9. Mysql数据库的高可用

    本文来说下有关mysql数据库的高可用 文章目录 概述 主从或主主半同步复制 半同步复制优化 高可用架构优化 共享存储 分布式协议 本文小结 概述 高可用,即High Availability,是分布 ...

  10. 浅谈mysql主从复制的高可用解决方案

    1.熟悉几个组件(部分摘自网络) 1.1.drbd      -- DRBD(Distributed Replicated Block Device),DRBD号称是 "网络 RAID&qu ...

最新文章

  1. JAVA入门[6]-Mybatis简单示例
  2. 搞清这些陷阱,NULL和三值逻辑再也不会作妖
  3. android 可行性分析,可行性研究项目分析程序与步骤
  4. 把每列中最大的数据合并一行
  5. Anatomy of a Program in Memory
  6. IE8打开网页慢速度优化
  7. Mac的日常使用之免费NTFS for Mac (mounty)一款免费的NTFS 。畅快的使用移动硬盘
  8. 数据告诉你杜蕾斯是怎么风靡全球的?
  9. 电感设计中的细节问题:磁芯损耗、线圈设计
  10. Socket套接字(Java)
  11. C语言经典例题及答案3
  12. 不写默认无参构造方法,调用自定义构造方法时报错No constructor found in com...
  13. [电池]设置-电池-上次充满电时间计算
  14. Python学习必备:10个奇妙的Python库,看完后我惊呆了
  15. 禁止宣传高考状元,学校秒变果园。。
  16. XPS如何在线批量转换成PDF
  17. Pandas+Pyecharts | 全国吃穿住行消费排行榜,最‘抠门’的地区居然是北京!!!
  18. 我猜,每个程序员对着电梯都想过调度算法吧!
  19. mysql sdo geometry_Oracle 关于WKT构造SDO_GEOMETRY的问题。详解
  20. 操作无法完成(0x000006ba)。本地后台打印程序服务没有运行。请重新启动后台打印程序或重新启动计算机。

热门文章

  1. 波士顿动力机器狗学会「撒尿」!拉风狗还不上街遛一遛?
  2. 用人铁律:高层看胸怀、中层看德行、基层看才能
  3. PLM系统的成功实施
  4. 百年 IBM 终于 All In 人工智能和混合云
  5. 公元2019年,你对AI的信任有几分?
  6. 苏黎世大学 AI 新研究:仅用少量样本生成高质量光声图像
  7. 核心算法缺位,人工智能发展面临“卡脖子”窘境
  8. 李彦宏为什么被称为AI先生,美国权威媒体给出答案
  9. 告别AI模型黑盒子:可解释性将是数据科学的下一个“超能力”
  10. SAP HUM 带HU的TO单对应的外向交货单VL09取消PGI之后不能对该交货单执行LT0G做WM层面的返架?