mysql系列之8.mysql高可用 (mha4mysql)

环境: 三台机器

主服务器: 192.168.1.130

主备机器: 192.168.1.131

监控机器: 192.168.1.132

130和131, 是mysql双主架构

1.在三台机器上安装mha4mysql-node

yum -y install perl-DBD-MySQL

tar -zxvpf mha4mysql-node-0.56.tar.gz

mha4mysql-node-0.56.tar.gz

cd mha4mysql-node-0.56

perl Makefile.PL

----------------

可能报错:

Can‘t locate ExtUtils/MakeMaker.pm

Can‘t locate CPAN.pm

解决办法:

yum install perl perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-CPAN

----------------

make && make install

2.在主服务器和主备机器上:

授权账户

mysql> grant all on *.* to "mha"@"192.168.32.%" identified by ‘123456‘;

主备修改my.cnf: 增加两个参数

[mysqld]

read-only

relay_log_purge=0

3.在监控机器上安装mha4mysql-manager

yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Config-IniFiles perl-Time-HiRes

tar -zxvpf mha4mysql-manager-0.56.tar.gz

mha4mysql-manager-0.56.tar.gz

cd mha4mysql-manager-0.56

perl Makefile.PL

------------------

可能报错:

Can‘t locate Log/Dispatch.pm

解决办法:

perl -MCPAN -e "install Log::Dispatch"

------------------

make && make install

4.修改manager的配置文件: 详见...

mkdir /etc/masterha

mkdir -p /masterha/app1

cd mha4mysql-manager-0.56

cp samples/conf/* /etc/masterha/

cp samples/scripts/* /usr/local/bin/

5.在三台机器上都执行: 建立ssh无密码登录环境

ssh-keygen -t rsa

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

//132机器: 执行后两句

//131机器: 执行第二句

//130机器: 执行第三句

6.回到监控机器, 检查: ssh登录 和 repl复制

masterha_check_ssh --conf=/etc/masterha/app1.cnf

------------------

可能报错:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)

解决办法: ???

chmod 700 /root/

chmod 700 /root/.ssh/

chmod 644 /root/.ssh/authorized_keys

chmod 600 /root/.ssh/id_rsa

------------------

masterha_check_repl --conf=/etc/masterha/app1.cnf

都无误后可以启动manager

nohup masterha_manager --conf=/etc/masterha/app1.cnf < /dev/null > /masterha/app1/manager.log 2>&1 &

7.在主备机器或从服务器上, 加入计划任务

00 00 * * * /usr/local/bin/purge_relay_logs –user=mha –password=123456 –disable_relay_log_purge >> /masterha/purge_relay_logs.log 2>&1

正常情况下,master主机用虚拟IP对外提供写服务。master宕掉后, master将转移到主备

配置文件:      /etc/masterha/app1.cnf

[server default]

user=mha

password=123456

manager_workdir=/masterha/app1

manager_log=/masterha/app1/manager.log

remote_workdir=/masterha/app1

ssh_user=root

repl_user=rep

repl_password=123456

ping_interval=1

secondary_check_script= masterha_secondary_check -s 192.168.1.130 -s 192.168.1.131

master_ip_failover_script=/usr/local/bin/master_ip_failover

[server1]

hostname=192.168.32.130

ssh_port=22

master_binlog_dir=/usr/local/mysql/data

candidate_master=1

[server2]

hostname=192.168.32.131

ssh_port=22

master_binlog_dir=/usr/local/mysql/data

candidate_master=1

;

时间: 2024-10-16 11:40:53

mysql系列之8.mysql高可用 (mha4mysql)的相关文章

[转帖]【MySQL+keepalived】用keepalived实现MySQL主主模式的高可用

[MySQL+keepalived]用keepalived实现MySQL主主模式的高可用 https://www.jianshu.com/p/8694d07595bc 一.实验说明 MySQL主主模式,是两台MySQL数据库互为主从. 此实验是用keepalived实现MySQL主主模式的高可用,基于已经安装好了主主架构的MySQL,然后配置keepalived,验证高可用性! 二.实验环境 操作系统:CentOS 7.5 serverA:192.168.1.104 serverB: 192.1

通过KeepAlived搭建MySQL双主模式的高可用集群系统

企业级MySQL集群具备高可用.可扩展.易管理.低成本的特点.下面将介绍企业环境中经常应用的一个解决方案,即MySQL的双主互备架构,主要设计思路是通过MySQL Replication技术将两台MySQL Server互相将对方作为自己的Master,自己又同时作为对方的Slave来进行复制.这样就实现了高可用构架中的数据同步功能,同时,将采用KeepAlived来实现Mysql的自动failover.在这个构架中,虽然两台MySQL Server互为主从,但同一时刻只有一个MySQL Ser

企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)

前言: 原理与思想 这里选用GTID主从复制模式Mysql主从复制模式,是为了更加确保主从复制的正确性.健康性与易配性.这里做的是两服务器A,B各有Mysql实例3310,两个实例间互为主从 主从复制模式采用GTID主从复制模式,在服务器A,B上配置keepalived负载均衡,通过VIP连接数据库,目的是一旦有某数据库宕机,keepalived 就会立即建VIP执行另外一台 健康的数据库实例上,实现快速切换,避免单点故障,从而保证业务的正常运行. 这里只做了 双主+keepalived  ,

mysql流行的四种高可用架构之:Keepalived+Mysql Replication

关于MySQL-HA,目前有很多种解决方案,目前互联网上用的较多的是Keepalived+Mysql Replication组合.MMM+Mysql Replication组合.Heartbeat+DRBD+Mysql组合,以及红帽RHSC高可用集群套件.

MySQL双主+keepalived实现高可用

mysql+keepalived实现高可用+主主复制模式 为了解决mysql的单点故障问题,衍生出很多mysql的高可用方案: keepalived+双主.MHA.PXC.MMM.Hearbeat+DRBD等,比较常用的一般是keepalived+双主,MHA和PXC 在此搭建实验环境,实现keepalived+mysql双主模式. 实验思路: 两台MySQL互为主从关系(双主),通过keepalived配置虚拟vip,实现当其中的一台MySQL数据库宕机后,应用能自动切换到另外一台MySQL数

mysql mha 主从自动切换 高可用

mha(Master High Availability)目前在MySQL多服务器(超过二台),高可用方面是一个相对成熟的解决方案. 一,什么是mha,有什么特性 1. 主服务器的自动监控和故障转移 MHA监控复制架构的主服务器,一旦检测到主服务器故障,就会自动进行故障转移.即使有些从服务器没有收到最新的relay log,MHA自动从最新的从服务器上识别差异的relay log并把这些日志应用到其他从服务器上,因此所有的从服务器保持一致性了.MHA通常在几秒内完成故障转移,9-12秒可以检测出

heartbeat+mysql双主复制实现高可用

实验环境 一:搭建主主复制环境 1.1实验环境 两台机器事先都已经装好了MySQL单实例. IP: 10.192.203.201 10.192.203.202 端口都是3307. 二者的端口号需要保持一致,否则在最后用vip连接的时候,不能使用相同端口号连接. 1.2实验步骤 1.2.1修改配置文件 修改master1: 在[mysqld]下面添加: server-id = 1 relay-log=/data/server/mysql_3307/binlog/ZabbixServer-relay

MySQL+Keepalived实现主主高可用方案

Mysql主主高可用方案 master配置 [[email protected] ~]# yum -y install keepalived [[email protected] ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived   global_defs {         router_id LVS_MASTER-A   } vrry_script mysql {         scrip

MySQL主主+Keepalived实现高可用

在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主主方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动.因此,如果是双主或者多主,就会增加mysql入口,增加高可用.不过多主需要考虑自增长ID问题,这个需要特别设置配置文件,比如双主,可以使用奇偶,总之,主之间设置自增长ID相互不冲突就能完美解决自增长ID冲突问题 主主方案实现思路 1. 两台mysql都可读写,互为主备.默认只使用一台masterA负责数据的写入,另一台masterB备用处于备用

2-20 MySQL集群搭建实现高可用

MySQL集群概述和安装环境 MySQL Cluster是MySQL适合于分布式计算环境的高实用.高冗余版本.Cluster的汉语是"集群"的意思.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器. MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署"内存中"数据库的 Cluster .通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求.此外,由于每个组件有自己的内存和磁盘,不存在单