mysql heartbeat 高可用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介:

安装过程http://xiong51.blog.51cto.com/5239058/1826190


vim /etc/hosts

192.168.0.30 mysql1

192.168.0.31 mysql2


请注意 Mysql安装时一定要使用同一个磁盘,避免下次登陆时不一致,

heartbeat备用时不会启用服务会造成主断了备文件不同步、解决方法:可以使用nfs、drbd、iscsi

nfs设置

/nfsfile        192.168.0.30/24(rw,sync,no_root_squash)不使用root压缩、避免权限错误  


mysql使用时候请先给 <挂载文件filname> Mysql用户组权限

showmount -a nfs服务器地址挂载就行

两台都需要挂载,然后安装

或者 /etc/fstab     192.168.0.30:/nfsfile/filenamenfs_netdev0 0     

安装请看Mysql


初始化时请直接使用filename,二进制日志保存在不同分区内最好不同磁盘内、避免出错


主主配置  也可以不要

heartbeat可以使用主从配置,主从配置不需要nfs,也可以不用配置、但两台mysql初始文件一定要在一起并且能保证起来


注意:my.cf中定义的目录一定要先给   chown mysql.mysql *  权限 mysql2相同

MYSQL1

vim /etc/my.cnf

basedir = /usr/local/mysql            本地安装目录

datadir = /mysql/data              数据文件应该是/filenmae挂载文件

port = 3306                   端口

socket = /var/lib/mysql/mysql.sock        sock目录

auto_increment_offset = 1起始步长

auto_increment_increment = 2递进步长

log_bin = /mysql/master/masterbin开启二进制日志

relay_log = /mysql/relay/mastrelay_log     开启中继日志

binlog_format = mixed二进制日志为混杂模式

server_id = 111服务Id号应该跟其它的保持不一致


grant all on *.* to massam@'192.168.0.31' IDENTIFIED BY 'EKcCeTIh';给mysql2授权


查看对端的mysq2二进制日志文件 show mstart status\G;

change master to master_host='192.168.0.31',master_user='massam',master_password='EKcCeTIh',master_log_file='masterbin.000001',master_log_pos=850;

reset master           恢复二进制日志为初始,配置成功后请勿使用该选项

reset slave          恢复中继日志为初始,


如出现 Slave failed to initialize relay log info structure from the repository

 该错误时使用请与中继日志保存为不同格式  如mysql=1_log  mysql2=2_log不能相同


grant all on *.* to mysqlte@'192.168.0.%' identified by 'mysqltete';给heartbeat vip授权


mysql2

vim /etc/my.cnf

vim /etc/my.cnf

basedir = /usr/local/mysql         本地安装目录

datadir = /mysql/data             数据文件应该是/filenmae挂载文件

port = 3306                   端口

socket = /var/lib/mysql/mysql.sock    sock目录

auto_increment_offset = 2起始步长

auto_increment_increment = 2递进步长

log_bin = /mysql/master/master_bin开启二进制日志

                       日志名称必须不一样否则会报错

relay_log = /mysql/relay/relay_log开启中继日志

binlog_format = mixed二进制日志为混杂模式

server_id = 111服务Id号应该跟其它的保持不一致

grant all on *.* to massam@'192.168.0.30' IDENTIFIED BY 'EKcCeTIh';  给mysql1授权


查看对端的mysql二进制日志文件 show mstart status\G;

master_host='192.168.0.31',master_user='massam',master_password='EKcCeTIh',master_log_file='masterbin.000001',master_log_pos=120;

reset master 恢复二进制日志为初始,配置成功后请勿使用该选项



heartbeat段

主机mysql1下 

yum -y install heartbeat*

cp /usr/share/doc/heartbeat-3.0.4/authkeys,ha.cf,haresources/etc/ha.d/目录下


vim /etc/ha.d/ha.cf 

logfile/var/log/ha-log 日志

keepalive 2 连接时间

deadtime 30 死亡时间

warntime 10 警告时间

initdead 60 死亡后重新上线时间

udpport694 udp端口号

ucast eth0 192.168.0.30 单播地址mysql2的地址

auto_failback off 死亡后上线是否重新抢占回来

node mysql1   节点    uname -n 一定要与节点的主机名相同

node mysql2 备节点

ping 192.168.0.1 仲裁结点?

respawn hacluster /usr/lib64/heartbeat/ipfailping不通尝试重新拉回一下地址


vim /etc/ha.d/authkeys

auth 2

2 sha1 xiong.com


vim /etc/ha.d/haresources

mysql1  IPaddr2::192.168.0.99/24/eth0:0mysqld   

名称      脚本:vip地址: 掩码:接口     服务ocf



mysql2跟mysql1相同配置 除

ucast eth0 192.168.0.31单播地址mysql1的地址



ifconfig 配置vip地址

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:36:26:EE  

          inet addr:192.168.0.99  Bcast:192.168.0.255  Mask:255.255.255.0


netstat -anpt | grep 3306

tcp 0  0 :::3306   :::*     LISTEN   28222/mysqld


以上只能是主节点启用,两台都有说明脑裂了、需要看/var/log/ha-log排错



然后在备服务器上验证、成功、一定要给登陆用户授权、使用windows也可以测试成功

[root@mysql2 ha.d]# mysql -umysqlte -p -h192.168.0.99

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 14

Server version: 5.6.30-log Source distribution


Copyright (c) 2000, 2013, 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> 





     本文转自812374156 51CTO博客,原文链接:http://blog.51cto.com/xiong51/1828045,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 关系型数据库 MySQL
Mysql高可用|索引|事务 | 调优
Mysql高可用|索引|事务 | 调优
|
2月前
|
SQL 容灾 关系型数据库
rds容灾与高可用
rds容灾与高可用
51 4
|
2月前
|
监控 关系型数据库 MySQL
HeartBeat监控Mysql状态
HeartBeat监控Mysql状态
|
23天前
|
运维 容灾 关系型数据库
介绍几种 MySQL 官方高可用方案
MySQL 官方提供了多种高可用部署方案,从最基础的主从复制到组复制再到 InnoDB Cluster 等等。本篇文章以 MySQL 8.0 版本为准,介绍下不同高可用方案架构原理及使用场景。
217 3
介绍几种 MySQL 官方高可用方案
|
2月前
|
运维 负载均衡 关系型数据库
MySQL高可用解决方案演进:从主从复制到InnoDB Cluster架构
MySQL高可用解决方案演进:从主从复制到InnoDB Cluster架构
|
2月前
|
Kubernetes 关系型数据库 MySQL
MySQL在Kubernetes上的高可用实现
【5月更文挑战第1天】
227 5
|
2月前
|
缓存 关系型数据库 MySQL
【专栏】提升MySQL性能和高可用性的策略,包括索引优化、查询优化和事务管理
【4月更文挑战第27天】本文探讨了提升MySQL性能和高可用性的策略,包括索引优化、查询优化和事务管理。通过合理使用B-Tree和哈希索引,避免过度索引,以及优化查询语句和利用查询缓存,可以改善性能。事务管理中,应减小事务大小并及时提交,以保持系统效率。主从或双主复制可增强高可用性。综合运用这些方法,并根据实际需求调整,是优化MySQL的关键。
|
2月前
|
监控 关系型数据库 MySQL
MySQL高可用MHA
MySQL高可用管理工具(MHA,Master High Availability)是一个用于自动管理MySQL主从复制的工具,它可以提供高可用性和自动故障转移。MHA由原版的MHA工具和MHA Manager组成,它们协同工作以实现自动主从切换和监控。
195 0
|
2月前
|
监控 关系型数据库 MySQL
MySQL高可用集群之MySQL-MMM
MySQL高可用集群之MySQL-MMM
|
2月前
|
存储 SQL 分布式计算
搭建Mysql Cluster集群实现高可用
搭建Mysql Cluster集群实现高可用
66 0

推荐镜像

更多