MySQL MHA在线手动切换——小坑

今天测试了MySQL的高可用架构--MHA,并进行了自动切换、手动failover以及手动在线切换,其中手动在线切换发现小坑:当旧master切换为新slave后,没有自动将read_only设置为on,例证如下:

环境说明:

OS:CentOS release 6.5

MySQL: 5.6.22-71.0-log Percona Server

slave1:172.16.52.130


mysql> show variables like ‘read_only‘;

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| read_only     | ON    |

+---------------+-------

slave2:172.16.52.132


mysql> show variables like ‘read_only‘;

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| read_only     | ON    |

+---------------+-------+

master:172.16.52.131


mysql> show variables like ‘read_only‘;

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| read_only     | OFF   |

+---------------+-------+

在MHA-manager上进行手动在线切换:


masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive  --orig_master_is_new_slave --interactive=0  &>/masterha/app1/manager.log

部分信息:

[info] Switching master to 172.16.52.130(172.16.52.130:3306) completed successfully.

可以发现172.16.52.130切位主库(可以指定新主库:--new_master_host=IP,--new_master_port=PORT)


mysql> show slave hosts;

+-----------+------+------+-----------+--------------------------------------+

| Server_id | Host | Port | Master_id | Slave_UUID                           |

+-----------+------+------+-----------+--------------------------------------+

|       132 |      | 3306 |       130 | e173b5bf-e286-11e4-8d56-000c29c78a39 |

|       131 |      | 3306 |       130 | 18f4bdc7-e285-11e4-8d4a-000c298dfc24 |

+-----------+------+------+-----------+--------------------------------------+

查看原主库-新从库的参数:172.16.52.131


mysql> show variables like ‘read_only‘;

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| read_only     | OFF   |

+---------------+-------+

slave 2:172.16.52.132


mysql> show variables like ‘read_only‘;

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| read_only     | ON    |

+---------------+-------+

master:172.16.52.130


mysql> show variables like ‘read_only‘;

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| read_only     | OFF   |

+---------------+-------+

总结:

发现从库切换为主库,关闭read_only,主库切换为从库,为打开read_only,所以切换完后,需要手动修改新的从库参数

set global read_only=on;

时间: 2024-12-29 21:36:03

MySQL MHA在线手动切换——小坑的相关文章

mysql mha 主从自动切换 高可用

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

mysql 主从踩的一个小坑

基本情况主库binlog-do-db未做过滤从库配置replicate_wild_do_table=dbname.% 修改了主库的某库dbname2的event scheduler,从库上并没有这个库,之后从库上 show slave status\G 发现报错Error 'Unknown database 'dbname2'' on query. Default database: 'dbname2'. Query: 'ALTER DEFINER=`root`@`%` EVENT `produ

MHA在线切换过程

MySQL MHA 在线切换是MHA除了自动监控切换换提供的另外一种方式,多用于诸如硬件升级,MySQL数据库迁移等等.该方式提供快速切换和优雅的阻塞写入,无关关闭原有服务器,整个切换过程在0.5-2s 的时间左右,大大减少了停机时间.本文演示了MHA 在线切换并给出了在线切换的基本步骤. 1.MHA在线切换方式及要求    $ masterha_master_switch --master_state=alive --conf=/etc/app1.cnf --new_master_host=h

MySQL MHA高可用方案

200 ? "200px" : this.width)!important;} --> 介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用.它由两部分组成:MHA Man

MYSQL MHA

MYSQL MHA 简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于 Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障切换过程中,MHA能做到在 0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用. 该软件由两部分组成:MHA

Step By Step 搭建 MySql MHA 集群

关于MHA ?? MHA(Master High Availability)是一款开源的mysql高可用程序,目前在mysql高可用方面是一个相对成熟的解决方案.MHA 搭建的前提是MySQL集群中已经搭建了MySql Replication环境,有了Master/Slave节点.MHA的主要作用就是监测到Master节点故障时会提升主从复制环境中拥有最新数据的Slave节点成为新的master节点.同时,在切换master期间,MHA会通过从其他的Slave节点来获取额外的信息来避免一致性的问

MySQL MHA高可用环境部署

一,安装MHA基本环境 安装MHA节点 (1)基本环境说明 角色IP地址主机名 ========================================= 主机192.168.1.121节点1 从机192.168.1.122节点2 从机192.168.1.123节点3 监视主机192.168.1.125节点5 (2)在node1,node2,node3,node5中操作: #vi / etc / hosts 192.168.1.121 node1 192.168.1.122 node2

MySQL MHA+Keepalived

一.MHA的简单介绍MHA是由perl语言编写的,用外挂脚本的方式实现mysql主从复制的高可用性.MHA可以自动检测mysql是否宕机,如果宕机,在10-30s内完成new master的选举,应用所有差异的binlog日志到所有slave,将所有的slave切换到新的master上来.MHA除了自动检测mysql是否宕机,还能够交互式的切换master,在日常的数据库维护中,这个功能还是挺有用的.由于MHA本身只负责数据库主从的切换,但是应用程序并不知道数据库的master变了.针对这种情况

MySQL MHA高可用环境搭建

一.安装MHA基本环境 1. 安装MHA node (1) 基本环境说明,本文参考互联网文章学习,搭建MHA与测试如下. 参考文档:http://www.cnblogs.com/xuanzhi201111/p/4231412.html 角色                IP地址            主机名    =============================================    Master              192.168.1.121     node