Mysql + keepalive高可用搭建

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:
  Mysql + keepalive高可用搭建

系统环境:centos6.8
Ip:192.168.137.36 主库
192.168.137.38 从库

VIP(虚拟ip/浮动ip):192.168.137.100

软件版本:mysql 5.7.20
Keepalived 1.2.13

主从搭建略
Mysql1
vim /etc/my.cnf
binlog-do-db=test
log-bin=mysql-bin
server-id=1
gtid-mode=ON
enforce-gtid-consistency

Mysql2
Vim /etc/my.cnf
gtid-mode=ON
enforce-gtid-consistency
log-bin=mysql-bin
log-slave-updates=ON
server-id=3
binlog-do-db=test

安装keepalived
yum install keepalived

在192.168.137.36主库修改keepalived的配置文件
注意:加颜色部分为修改部分

[root@zabbix ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived
global_defs{ 
notification_email { 
root@localhost 

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.137.100 


virtual_server 192.168.137.100 3306 { 
delay_loop 6 
lb_algo wrr 
lb_kind DR 
persistence_timeout 60 
protocol TCP 
real_server 192.168.137.36 3306 { 
weight 100 
notify_down /data/sh/mysql.sh 
TCP_CHECK { 
connect_timeout 10 
nb_get_retry 3 
delay_before_retry 3 
connect_port 3306 


}

保存退出
在192.168.137.38从库修改keepalived的配置文件
[root@localhost sh]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived
global_defs{ 
notification_email { 
root@localhost 

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 98 
advert_int 5 
nopreempt 
authentication { 
auth_type PASS 
auth_pass 2222 

virtual_ipaddress { 
192.168.137.100 


virtual_server 192.168.137.100 3306 { 
delay_loop 6 
lb_algo wrr 
lb_kind DR 
persistence_timeout 60 
protocol TCP 
real_server 192.168.137.38 3306 { 
weight 98 
notify_down /data/sh/mysql.sh 
TCP_CHECK { 
connect_timeout 10 
nb_get_retry 3 
delay_before_retry 3 
connect_port 3306 


}
保存退出
上面的配置简单说明:
state BACKUP  表示为备模式,nopreempt 为不抢占,双方都配为备模式,并且不抢占,可以避免“脑裂”问题,priority 100 为权重,数字越高,权重越高,当双方都配为BACKUP模式,并且配置nopreempt时,keepalived靠这个数字来判断谁是主,谁是备
主从都要创建/data/sh/mysql.sh脚本
mkdir /data/sh
vim /data/sh/mysql.sh 加入以下内容:
#!/bin/bash
/etc/init.d/keepalived  stop
 
chmod  755  /data/sh/mysql.sh
modprobe  ip_vs  #加载ip_vs模块 虚拟IP要用
lsmod |  grep  ip_vs  查看ip_vs模块有没有加载,如果看到下面的内容,就表示加载成功:
Mysql + keepalive高可用搭建

/etc/init.d/mysqld  start  #启动mysql
/etc/init.d/keepalive  start   #启动keepalived
在36上的操作和38上一样,只是keepalived.conf配置文件里priority 100 改为 priority 98
 
real_server 192.168.137.36 改为 real_server 192.168.137.38其他不变。
 
查看VIP情况命令: ip a
Mysql + keepalive高可用搭建
 
至此mysql的主从高可用就做好了,可以在36上测试挺掉mysql服务,看看vip会不会漂移到38上,一般来说都是没问题的,如果有问题,请检查你的配置,步骤是不是有错误,还有selinux,防火墙是否关闭等









本文转自去轻狂书生51CTO博客,原文链接: http://blog.51cto.com/8999a/2047477,如需转载请自行联系原作者



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 关系型数据库 MySQL
Mysql高可用|索引|事务 | 调优
Mysql高可用|索引|事务 | 调优
|
2月前
|
运维 监控 关系型数据库
MySQL高可用方案:MHA与Galera Cluster对比
本文深入对比了MySQL高可用方案MHA与Galera Cluster的架构原理及适用场景。MHA适用于读写分离、集中写入的场景,具备高效写性能与简单运维优势;而Galera Cluster提供强一致性与多主写入能力,适合对数据一致性要求严格的业务。通过架构对比、性能分析及运维复杂度评估,帮助读者根据自身业务需求选择最合适的高可用方案。
|
2月前
|
SQL 监控 关系型数据库
MySQL主从复制:构建高可用架构
本文深入解析MySQL主从复制原理与实战配置,涵盖复制架构、监控管理、高可用设计及性能优化,助你构建企业级数据库高可用方案。
|
存储 SQL 关系型数据库
Mysql高可用架构方案
本文阐述了Mysql高可用架构方案,介绍了 主从模式,MHA模式,MMM模式,MGR模式 方案的实现方式,没有哪个方案是完美的,开发人员在选择何种方案应用到项目中也没有标准答案,合适的才是最好的。
875 3
Mysql高可用架构方案
|
9月前
|
监控 关系型数据库 MySQL
云数据库:从零到一,构建高可用MySQL集群
在互联网时代,数据成为企业核心资产,传统单机数据库难以满足高并发、高可用需求。云数据库通过弹性扩展、分布式架构等优势解决了这些问题,但也面临数据安全和性能优化挑战。本文介绍了如何从零开始构建高可用MySQL集群,涵盖选择云服务提供商、创建实例、配置高可用架构、数据备份恢复及性能优化等内容,并通过电商平台案例展示了具体应用。
|
运维 容灾 关系型数据库
介绍几种 MySQL 官方高可用方案
MySQL 官方提供了多种高可用部署方案,从最基础的主从复制到组复制再到 InnoDB Cluster 等等。本篇文章以 MySQL 8.0 版本为准,介绍下不同高可用方案架构原理及使用场景。
2939 3
介绍几种 MySQL 官方高可用方案
|
运维 容灾 关系型数据库
MySQL高可用方案--Xenon全解
MySQL高可用方案--Xenon全解
|
SQL 关系型数据库 MySQL
orchestrator搭建mysql高可用
orchestrator搭建mysql高可用
314 0
|
缓存 关系型数据库 MySQL
如何实现mysql高可用集群
如何实现mysql高可用集群
161 0
|
SQL 关系型数据库 MySQL
MySQL高可用架构设计:从主从复制到分布式集群
MySQL高可用性涉及主从复制、半同步复制和Group/InnoDB Cluster。主从复制通过二进制日志同步数据,保证故障时可切换。半同步复制确保事务在至少一个从服务器确认后才提交。Group Replication是多主复制,支持自动故障切换。InnoDB Cluster是8.0的集成解决方案,简化集群管理。使用这些技术能提升数据库的稳定性和可靠性。
1198 2

推荐镜像

更多