mysql heartbeat 高可用

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

安装过程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
HeartBeat监控Mysql状态
HeartBeat监控Mysql状态
|
2月前
|
存储 关系型数据库 MySQL
Mysql高可用|索引|事务 | 调优
Mysql高可用|索引|事务 | 调优
|
3月前
|
SQL 容灾 关系型数据库
rds容灾与高可用
rds容灾与高可用
28 4
|
3月前
|
关系型数据库 MySQL
电子好书发您分享《MySQL MGR 8.0高可用实战》
电子好书发您分享《MySQL MGR 8.0高可用实战》 电子好书发您分享《MySQL MGR 8.0高可用实战》
90 1
|
4月前
|
监控 关系型数据库 MySQL
MySQL高可用MHA
MySQL高可用管理工具(MHA,Master High Availability)是一个用于自动管理MySQL主从复制的工具,它可以提供高可用性和自动故障转移。MHA由原版的MHA工具和MHA Manager组成,它们协同工作以实现自动主从切换和监控。
133 0
|
6月前
|
关系型数据库 MySQL Nacos
生产环境下的终极指南:在生产环境部署 Nacos 集群和高可用 MySQL 使用 Docker
生产环境下的终极指南:在生产环境部署 Nacos 集群和高可用 MySQL 使用 Docker
306 0
|
2月前
|
监控 容灾 关系型数据库
rds容灾与高可用
rds容灾与高可用
49 6
|
3月前
|
SQL 关系型数据库 MySQL
Mysql高可用,索引,事务与调优:提高数据库性能的关键技术
在当今互联网时代,高可用性、稳定性和性能是数据库的三大关键要素。本文将深入探讨Mysql高可用、索引、事务和调优等方面的技术,为读者提供实用的解决方案和经验。
24 0
|
3月前
|
监控 关系型数据库 MySQL
MySQL高可用与性能优化综述
MySQL作为一种常用的关系型数据库管理系统,高可用性、索引优化、事务处理和性能调优一直是开发人员和运维人员关注的重点。本文将从MySQL高可用性解决方案、索引设计与优化、事务处理最佳实践以及性能调优策略等方面进行探讨,为读者提供全面的MySQL技术知识概览。
|
3月前
|
SQL 缓存 关系型数据库
MySQL高可用与性能优化——从索引到事务
MySQL是一款常用的关系型数据库,但在实际应用中,如何保证其高可用性与性能优化依然是一个值得探讨的话题。本文将从索引的创建和优化、事务的处理以及常见的性能瓶颈入手,为读者提供MySQL高可用与性能优化的实践经验。