MHA

MySQL 高可用之MHA

亡梦爱人 提交于 2020-02-25 02:32:24
目录 MySQL高可用之MHA MHA简介 MHA工作流程 HMA架构 MHA工具介绍 部署MHA MySQL环境准备 配置GTID主从复制 配置关闭relaylog自动删除 安装MHA Node 安装MHA Manager 测试故障切换 修复主从和MHA 配置VIP漂移 配置binlog-server 故障排错 MySQL高可用之MHA MHA简介 MHA(Master High Availability)目前在 MySQL高可用 方面是一个 相对成熟 的 解决方案 ,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下 故障切换 和 主从提升 的 高可用软件 。在MySQL 故障切换 过程中,MHA能做到在 10~30秒 之内自动完成数据库的 故障切换 操作,并且在进行 故障切换 的过程中,MHA能在最大程度上 保证数据的一致性 ,以达到真正意义上的 高可用 。 使用MySQL 5.6以上的 半同步复制 ,可以大大 降低数据丢失 的风险。 MHA 可以与 半同步复制 结合起来。如果只有一个slave已经收到了最新的 二进制日志 ,MHA可以将最新的 二进制日志 应用于其他所有的slave服务器上,因此可以保证所有节点的 数据一致性 。 目前MHA主要支持 一主多从 的架构,要搭建MHA

MHA部署实现高可用(3)

廉价感情. 提交于 2020-02-21 18:44:05
一、启动MHA [root@c733 ~]# nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/mha/app1/manager.log 2>&1 & 查看MHA状态 [root@c733 ~]# masterha_check_status --conf=/etc/mha/app1.cnf 关闭MHA [root@c733 ~]# masterha_stop --conf=/etc/mha/app1.cnf 从库重新加入主库 [root@c733 ~]# grep "CHANGE MASTER TO MASTER" /var/log/mha/app1/manager.log | tail -1 二、测试MHA故障转移 1、停掉c731主库192.168.37.31 [root@c731 ~]# systemctl stop mysql 查看c733的slave状态,发现master_host变成了192.168.37.32 [root@c733 ~]# mysql -uroot -p123456 -e 'start slave;' Warning: Using a password on the

Linux实战教学笔记40: Mha-Atlas-MySQL高可用方案实践(二)

你说的曾经没有我的故事 提交于 2020-02-18 07:11:06
六,配置VIP漂移 主机名 IP地址(NAT) 漂移VIP 描述 mysql-db01 eth0:192.168.0.51 VIP:192.168.0.60 系统:CentOS6.5(6.x都可以) 安装:mysql5.6 mysql-db02 eth0:192.168.0.52 VIP:192.168.0.60 系统:CentOS6.5(6.x都可以) 安装:mysql5.6 mysql-db03 eth0:192.168.0.53 VIP:192.168.0.60 系统:CentOS6.5(6.x都可以) 安装:mysql5.6 6.1 IP漂移的两种方式 通过keepalived的方式,管理虚拟IP的漂移 通过MHA自带脚本方式,管理虚拟IP的漂移 6.2 MHA脚本管理方式 (1)获取管理脚本master_ip_failover 提示:yum安装的manager是没有这个脚本的。 我们需要从manager的源码包里复制一个。 [root@mysql-db03 ~]# ll mha4mysql-manager-0.56.tar.gz -rw-r--r--. 1 root root 113914 Sep 4 18:43 mha4mysql-manager-0.56.tar.gz [root@mysql-db03 ~]# tar xf mha4mysql-manager-0.56

MYSQL高可用——MHA(概述与安装)

陌路散爱 提交于 2020-02-13 20:18:43
MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 github地址: https://github.com/yoshinorim **该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。**MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。 ​ 在MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问

Mysql 高可用集群 ------ MHA

◇◆丶佛笑我妖孽 提交于 2020-02-04 11:53:34
文章目录 一、MHA 简介 二、部署 MHA 第一步:三台主从服务器安装 mysql 第二步:修改 mysql 的主配置文件:/etc/my.cnf ,注意三个服务器的 server-id 不能一样 第三步:三个服务器启动 mysql 服务 第四步:配置 Mysql 主从同步(一主两从) 第五步:安装 MHA 第六步:启动 MHA 一、MHA 简介: MHA(Master High Availability) (1)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 (2)该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以单独部署在一个独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时

30_MHA集群概述 、 部署MHA集群 测试配置

十年热恋 提交于 2020-02-04 09:47:56
版本:5.7.28 1.准备MHA集群环境 准备6台虚拟机,并按照本节规划配置好IP参数 在这些虚拟机之间实现SSH免密登录 在相应节点上安装好MHA相关的软件包 使用6台RHEL 7虚拟机,如图-1所示。准备集群环境,安装依赖包,授权用户,配置ssh密钥对认证登陆,所有节点之间互相以root秘钥对认证登录,管理主机以root密钥对认证登录所有数据节点主机,配置mha集群。 1.1 修改主机名,配置IP msyql{50..57} 192.168.4.{50..57} 1.2 安装包(51-55) ]# tar -xvf mha56.tar.gz ]# cd mha ]# yum -y install perl-*.rpm 1.3 在管理主机上安装mha_node 和 mha-manager包(56操作) ]# yum -y install perl-DBD-mysql perl-DBI ]# rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm 1.4 配置ssh密钥对认证登陆 所有节点之间可以互相以ssh密钥对方式认证登陆(以51为例) ]# ssh-keygen ]# for i in {50..57} > do > ssh-copy-id 192.168.4.$i > done ]# cat /etc/hosts 127.0.0.1

主从复制,高可用mha

让人想犯罪 __ 提交于 2020-01-30 06:25:35
一.主从复制 1.修改主库配置文件 [root@db01 ~]# vim /etc/my.cnf [mysqld] log_bin=mysql-bin binlog_format=row server_id=1 2.重启数据库 [root@db01 ~]# /etc/init.d/mysqld restart 3.连接数据库 [root@db01 ~]# mysql -uroot -p1 4.创建主从复制用户 mysql> grant replication slave on *.* to rep@'%' identified by '123'; 5.记录binlog名字和binlog位置点 mysql> show master status; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 317 |

MySQL——MHA高可用群集架构

心不动则不痛 提交于 2020-01-25 10:46:37
MHA高可用配置及故障切换 文章目录 MHA高可用配置及故障切换 前言 一、MHA特点 二、MHA的组成 三、 传统的Mysql主从架构存在的问题 四、MHA示例 1) 安装MySQL数据库 2) 配置MySQL一主两从 主服务器配置 从服务器配置 3) 安装MHA软件 4) 配置无密码认证 5) 配置MySQL MHA高可用 6) 模拟master故障切换 前言 MHA目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀MySQL故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 MHA还提供在线主库切换的功能,能够安全地切换当前运行的主库到一个新的主库中(通过将从库提升为主库),大概0.5-2秒内即可完成。 一、MHA特点 自动故障切换过程中,MHA视图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢似乎 使用MySQL 5.5的半同步复制,可以大大降低数据丢失的风险 二、MHA的组成 MHA Manager(管理节点) MHA Node(数据节点) MHA Manager可以单独部署在一台独立的机器上管理多个master

MHA运维

筅森魡賤 提交于 2020-01-24 20:29:56
项目地址 文档地址 Consul, ProxySQL and MySQL HA MHA Quick Start Guide 前提条件 1.复制 2.ssh 3.彼此能够通过客户端连接数据库 4.所有节点有相同的复制用户和密码 5.只有一个写节点,所有其他都配置成read_only 6.5.0或更新版本 7.candidate应该开启binlog 8.binlog filter在所有服务器上都一样 9.禁用relay-log purge,换成cron来处理,或者使用purge_relay_logs脚本 mha node包中包括save_binary_logs, filter_mysqlbinlog, purge_relay_logs, apply_diff_relay_logs manager用select命令监控master的状态, 1.--remove_dead_master_conf参数的意思是如果master挂掉的话,failover后manager必须将master的配置从配置文件中删除掉,否则,重启manager的时候就会报“there is a dead slave” error, 2.配置文件中所有的列出来的server都必须存在于复制环境中,而且状态都是健康的,即服务存在,否则manager将会罢工 自动手动failover 一切都运行正常

mha的搭建步骤(一主一从架构)

青春壹個敷衍的年華 提交于 2020-01-24 20:28:10
所需脚本文件到这里下载:http://note.youdao.com/share/web/file.html?id=ae8b11a61f7a8aa7b52aac3fcf0c4b83&type=note 环境: centos 6.5 x64 192.168.0.32 # master 192.168.0.33 #管理节点和从节点 slave VIP: 192.168.0.62 iptables打开 mysql端口 selinx关闭: shell > vim /etc/selinux/config SELINUX=disabled 1.安装 mysql 5.5.x以上的版本 (如果是 5.6以上的版本,不建议开启 GTID复制 ),并搭建好双主复制,复制用户: repl,复制用户密码: 123456 主从复制搭建好后,从库执行下面两个命令 (不要加入到 my.cnf中,因为从库随时可能被提升为 master) mysql -e 'set global read_only=1;set global relay_log_purge=0;' 如果是刚刚初始化安装完成的 mysql,建议进行安全清理: mysql > delete from mysql.user where user!='root' or host !='localhost'; mysql > truncate table