Master1 192.168.20.145Master2 192.168.20.146安装mysqlmysql安装脚本:#!/bin/bash

yum -y install cmake

tar zxvf  mysql-5.5.34.tar.gz

cd mysql-5.5.34

cmake -DCMAKE_INSTALL_PREFIX=/work/mysql5.5 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_MYISAM_STORAGE_ENGINE=1  -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/3306/data/  -DMYSQL_USER=mysql  -DMYSQL_TCP_PORT=3306

make && make install && echo  "install MYSQL ok"

chmod  +w /work/mysql5.5/

chown  -R mysql:mysql /work/mysql5.5/

mkdir -p /data/mysql/3306/data

chown  -R mysql:mysql /data/mysql/

/work/mysql5.5/scripts/mysql_install_db  --basedir=/work/mysql5.5/ --datadir=/data/mysql/3306/data/ --user=mysql

cp support-files/my-medium.cnf /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysql

chmod  +x /etc/init.d/mysql

sed -i '37a\basedir = /work/mysql5.5' /etc/my.cnf

sed -i '38a\datadir = /data/mysql/3306/data' /etc/my.cnf

sed -i '39a\log-error = /data/mysql/3306/mysql_error.log' /etc/my.cnf

sed -i '40a\pid-file = /data/mysql/3306/mysql.pid' /etc/my.cnf

chkconfig  --add mysql

chkconfig  mysql on

service mysql start锁库进行数据同步,配置主主复制Master 2

server-id= 1

log-bin=mysql-bin

log-slave-updates

Master 2

log-bin=mysql-bin

binlog_format=mixed

server-id= 2

relay-log=relay-bin

relay-log-index=relay-bin.index

log-slave-updates

首先配置主从同步,主:show master status\G;从:change master tomaster_host='192.168.20.146',master_user='slave001',master_password='tl@123 ',master_log_file='mysql-bin.000002',master_log_pos=107,MASTER_CONNECT_RETRY=10;start slaveshow slave status\G;两台主机互相为主wgettar zxvf keepalived-1.2.7.tar.gzcd keepalived-1.2.7./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-279.el6.x86_64make && make installcp /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 keepalived onmkdir /etc/keepalivedvim/etc/keepalived/keepalived.confglobal_defs {

notification_email {

mengtao10@163.com

}

#当主、备份设备发生改变时,通过邮件通知

notification_email_from lzyangel@126.com

smtp_server stmp.163.com

smtp_connect_timeout 30

router_id MySQL-ha

}

vrrp_instance VI_1{

# 在初始化状态下定义为主设备

state BACKUP

# 注意网卡接口

interface eth0

virtual_router_id 51

# 优先级,另一台改为90

priority 100

advert_int 1

# 不主动抢占资源

nopreempt

authentication {

# 认证方式,可以是PASS或AH两种认证方式

auth_type PASS

# 认证密码

auth_pass 1111

}

virtual_ipaddress {

# 虚拟IP地址,随着state的变化而增加删除

192.168.20.111

}

}

virtual_server 192.168.20.111 3306 {

# 每个2秒检查一次real_server状态

delay_loop 2

# LVS算法

lb_algo wrr

# LVS模式

lb_kind DR

# 会话保持时间

persistence_timeout 60

protocol TCP

real_server 192.168.20.146 3306 {

# 权重

weight 3

# 检测到服务down后执行的脚本

notify_down /etc/rc.d/keepalived.sh

TCP_CHECK {

# 连接超时时间

connect_timeout 10

# 重连次数

nb_get_retry 3

# 重连间隔时间

delay_before_retry 3

# 健康检查端口

connect_port 3306

}

}

}另外一台主机参考此配置在主的master1上编写检测服务down后所要执行的脚本vim /etc/rc.d/keepalived.sh#!/bin/bash

#环境变量

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/work/mysql5.5/bin/; export PATH

sleep 5

#mysql_id(存活=1死掉=0)

mysql_id=ps -C mysqld --noheader | wc -l

#判断mysql_id如果死掉,则重启mysql一次,若仍然无法启动mysql,则杀掉keepalived进程实现VIP切换

if [ $mysql_id -eq 0 ]

then

service mysql restart

sleep 5

if [ $mysql_id -eq 0 ]

then

/etc/init.d/keepalived stop

fi

fi

Master 2 上的脚本:vim /etc/rc.d/keepalived.sh#!/bin/bash

/etc/init.d/keepalived  stop

分别在两台机器上启动keepalived 和 此脚本,那台mysql首先开启,那台就是当做master来使用可以看到虚拟ip已经绑定到优先级高的主机上了进行连接测试是没有问题,尝试修改mysql的配置,然后观察结束掉mysql进程,虚拟ip会直通切换到另外一台主机去

keepalived mysql集群_keepalived + Mysql(主主)实现高可用集群相关推荐

  1. HA集群实现原理 切换 JAVA_HA(一)高可用集群原理

    高可用集群原理 LVS集群DR模式简单的架构图如下所示: 在上图的架构中,当Director服务器因软件.硬件.人为原因造成故障时,整个集群服务不可用,因此,需要再添加一台服务器实现Director服 ...

  2. mysql 集群切换_完美起航-MySQLMHA高可用集群部署及故障切换(图文详解)

    MySQL MHA 一.MHA概念 MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件. MHA 的出现就是解决MySQL 单点的问题. ...

  3. mongodb 集群shard_mongodb replica set shard 分片 高可用 集群

    mongodb采用的分片原理,其实很简单,说白了就是,一个蛋糕特别大,需要非常非常大的盒子才能装下,就算装下了存储也不方便,所以把大蛋糕切成小蛋糕进行存储.这种思想在其他应用或数据库中也有应用.例如: ...

  4. mysql架构 视频_企业常见MySQL架构应用实战(高可用集群系统+调优经验)视频课程...

    第一章 MySQL企业常用架构应用实战(主从复制+性能调优) 1.企业级MySQL发行版Percona Server.MariaDB选型 2.常用MYSQL性能调优策略之系统级别调优(1) 3.常用M ...

  5. 双vip的MySQL高可用集群

    目录 一.mysql集群的搭建 IP地址规划: 使用ansible给从服务器安装mysql 1.使用master与所有从服务器建立SSH免密通道,然后添加到mysqld组到hosts文件里面 2.使用 ...

  6. 高可用集群原理概念详述

    一.高可用集群的定义 高可用集群,英文原文为High Availability Cluster,简称HACluster,简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网 ...

  7. 高可用集群篇(五)-- K8S部署微服务

    高可用集群篇(五)-- K8S部署微服务 一.K8S有状态服务 1.1 什么是有状态服务 1.2 k8s部署MySQL 1.2.1 创建MySQL主从服务 1.2.2 测试主从配置 1.2.3 k8s ...

  8. n9e体验.以及部分高可用集群测试验证

    1.docker 环境 , docker-compose 参考1 参考2 参考3 下载二进制docker(离线内网安装) linux下载docker包地址 wget https://download. ...

  9. linux高可用集群(HA)原理详解

    高可用集群 一.什么是高可用集群 高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服 ...

最新文章

  1. mysql int 做排序_Mysql数据库按照varchar字符串类型排序和按照int整型类型排序的区别和注意点及解决方案...
  2. mysql节假日表_节假日常见的数据库磁盘空间处理小结
  3. 简单解决AJAX在IE中的缓存问题
  4. 2016 Multi-University Training Contest 10 [HDU 5861] Road (线段树:区间覆盖+单点最大小)...
  5. python中dir用法_Python内置函数dir详解
  6. 百练OJ:3865和2677:肿瘤检测
  7. CAS5.2x单点登录(一)——搭建cas服务器
  8. django-groundwork
  9. [蓝桥杯][算法提高VIP]聪明的美食家-dp
  10. python控制excel选择区域_python操作excel常用的方法
  11. Opencv4找不到CV_FOURCC
  12. Atitit 常见集合的操作 dsl表达式 选择器 多属性条件检索 ,排序等 目录 1. Ognl 集合操作 1 2. /bookmarksHtmlEverythingIndexPrj/src/Li
  13. 小程序商城框架源码 小程序源码带前端+后台+数据库
  14. 利用计算机技术和数字通讯,数字电子技术在通信网络的应用
  15. 计算机怎么恢复初始设定模式,电脑的Edge浏览器怎么进行重置使其恢复出厂默认设置...
  16. Word如何删除尾注的横线(Office 2003)
  17. Vue3 Vite 项目踩坑札记
  18. c语言中min函数的作用,min函数到底在哪个头文件里?
  19. 【Matlab图像处理】自动报靶系统(重弹孔)【含GUI源码 973期】
  20. 微信 html avi视频无法播放,是真的,微信可以发送高清.avi 了

热门文章

  1. R语言泊松回归(poisson)模型案例:基于robust包的Breslow癫痫数据集
  2. python根据二叉树的前序遍历和中序遍结果历重建二叉树
  3. linux动态库注册函数,Linux动态库函数的详解
  4. airpods固件更新方法_AirPods如何升级固件?AirPods更新固件方法教程
  5. 一键编译php,编译安装php 附加一键安装php5.6.30脚本
  6. 构建聊天机器人:检索、seq2seq、RL、SeqGAN
  7. Pbsim模拟器的使用
  8. python的numpy(array)
  9. SIFT: This algorithm is patented and is excluded in this configuration的解决办法
  10. 【论文写作分析】之一 《基于混合注意力Seq2seq模型的选项多标签分类》