keepalived + mysql主从

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

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



本文转自 菜鸟的征程 51CTO博客,原文链接:http://blog.51cto.com/songqinglong/1700670

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 MySQL 开发工具
MySQL5.7主从配置(Docker)
MySQL5.7主从配置(Docker)
726 0
|
1月前
|
SQL 关系型数据库 MySQL
解决MySQL主从慢同步问题的常见的解决方案:
解决MySQL主从慢同步问题的方法有很多,以下是一些常见的解决方案: 1. 检查网络连接:确保主从服务器之间的网络连接稳定,避免网络延迟或丢包导致数据同步缓慢。 2. 优化数据库配置:调整MySQL的配置参数,如增大binlog文件大小、调整innodb_flush_log_at_trx_commit等参数,以提高主从同步性能。 3. 检查IO线程和SQL线程状态:通过SHOW SLAVE STATUS命令检查IO线程和SQL线程的状态,确保它们正常运行并没有出现错误。 4. 检查主从日志位置:确认主从服务器的binlog文件和位置是否正确,避免由于错误的日志位置导致同步延迟。 5.
117 1
|
4月前
|
负载均衡 关系型数据库 MySQL
MySQL主从架构的搭建
MySQL主从架构的搭建
58 3
|
4月前
|
SQL 关系型数据库 MySQL
小白带你学习linux的mysql服务(主从mysql服务和读写分离三十一)
小白带你学习linux的mysql服务(主从mysql服务和读写分离三十一)
64 0
|
3月前
|
SQL 关系型数据库 MySQL
MySQL-主从架构的搭建
MySQL-主从架构的搭建
52 0
|
10天前
|
SQL 关系型数据库 MySQL
mysql主从同步出错解决办法
mysql主从同步出错解决办法
7 0
|
5月前
|
SQL 关系型数据库 MySQL
MySQL的主从结构是通过一系列的步骤搭建出来的
MySQL的主从结构是通过一系列的步骤搭建出来的
30 1
|
4月前
|
消息中间件 关系型数据库 MySQL
在kafka connect 同步 mysql 主从数据库
在kafka connect 同步 mysql 主从数据库
43 0
|
4月前
|
关系型数据库 MySQL 数据库
分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(一)
分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(一)
|
4月前
|
关系型数据库 MySQL Java
分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(二)
分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(二)