MHA使用过程中的问题收集

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

1,线上在用的my.cnf配置文件的[client]段有配置default-character-set=utf8。在用masterha_check_repl --conf=/etc/masterha_default.cnf检测 复制状态的时候会报错:

Wed Jan 20 03:03:43 2016 - [info]   Connecting to emma@192.168.6.85(192.168.6.85:22).. 

mysqlbinlog: unknown variable 'default-character-set=utf8'

mysqlbinlog version command failed with rc 7:0, please verify PATH, LD_LIBRARY_PATH, and client options

 at /usr/bin/apply_diff_relay_logs line 493

解决方法:

    因为mysqlbinlog工具查看二进制日志时会重新读取的mysql的配置文件my.cnf,而不是服务器已经加载进内存的配置文件,所以可以把my.cnf的default-character-set=utf8这个参数注释掉,但是可以不重启,这样既不会对线上业务有影响,也可以避免复制状态检测报错。


2,如果root用户不允许做ssh免密码登陆,用非root用户部署mha的时候要把这个用户加入到mysql组,让其有操作binlog和relaylog的权限。


3,MHA在执行master_check_repl会调用/usr/bin/mysqlbinlog,对于源码安装在不同的路径的mysql高版本则收到如下错误提示:

 mysqlbinlog version is 3.2 (included in MySQL Client 5.0 or lower). This is not recommended. Consider upgrading MySQL Client to 5.1 or higher.

mysqlbinlog is 3.2 (included in MySQL Client 5.0 or lower), but MySQL server version is 5.5.33-log. mysqlbinlog can not parse row based events. Terminating script for safety reasons.

解决方法:

重新创建软链接:

mv /usr/bin/mysqlbinlog /usr/bin/mysqlbinlog.bak

ln -sv /usr/local/ver01/percona/bin/mysqlbinlog /usr/bin/mysqlbinlog

也可以卸载系统当前的mysql rpm包


4,MHA在完成一次故障切换后会退出,需要手动再次开启。


5,在线切换时的报错:

Thu Jan 21 17:50:28 2016 - [error][/usr/lib/perl5/site_perl/5.8.8/MHA/MasterRotate.pm, ln612] We should not start online master switch when one of connections are running long updates on the current master(192.168.6.85(192.168.6.85:3306)). Currently 1 update thread(s) are running.

Details:

{'Time' => '11277','db' => undef,'Id' => '1','User' => 'event_scheduler','State' => 'Waiting on empty queue','Rows_read' => '0','Command' => 'Daemon','Rows_examined' => '0','Info' => undef,'Host' => 'localhost','Rows_sent' => '0'}

Thu Jan 21 17:50:28 2016 - [error][/usr/lib/perl5/site_perl/5.8.8/MHA/MasterRotate.pm, ln652] Got ERROR:  at /usr/bin/masterha_master_switch line 53

这是由于当前主库上开启了event_scheduler导致,我们可以临时关闭下event_scheduler通过set global event_scheduler=0;待迁移完成后再开启。


本文转自 emma_cql 51CTO博客,原文链接:http://blog.51cto.com/chenql/1873813


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
Kubernetes 容器
k8s集群部署成功后某个节点突然出现notready状态的问题原因分析和解决办法
k8s集群部署成功后某个节点突然出现notready状态的问题原因分析和解决办法
15 0
|
11月前
|
SQL 关系型数据库 MySQL
MySQL主从架构之Slave数据滞后Master怎么办?教你一招制敌!
MySQL主从架构之Slave数据滞后Master怎么办?教你一招制敌!
|
关系型数据库 MySQL Java
EFK环境收集MySQL慢日志
EFK环境收集MySQL慢日志
199 0
|
SQL 分布式计算 Hadoop
Hadoop主节点宕机第二节点补救
Hadoop主节点宕机第二节点补救
340 0
Hadoop主节点宕机第二节点补救
|
监控 NoSQL Redis
如何解决 “主节点故障恢复的自动化” 问题?
工作 & 面试中,当面试官问你主服务器宕机了,怎么办,如何处理?那么“哨兵”它来了~~~
如何解决 “主节点故障恢复的自动化” 问题?
|
监控 关系型数据库 MySQL
安装Zabbix过程中出现的问题集
<p style="margin-top:0pt; margin-bottom:0pt; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal"> <span style="word-wrap:normal; word-break:norm
9865 0
|
Java API 微服务
日志排查问题困难?分布式日志链路跟踪来帮你
开发排查系统问题用得最多的手段就是查看系统日志,在分布式环境中一般使用`ELK`来统一收集日志,但是在并发大时使用日志定位问题还是比较麻烦,由于大量的其他用户/其他线程的日志也一起输出穿行其中导致很难筛选出指定请求的全部相关日志,以及下游线程/服务对应的日志。
794 0
日志排查问题困难?分布式日志链路跟踪来帮你
|
Kubernetes 安全 API
kubeadm工作机制分析
介绍 kubeadm一共提供了5个子命令: kubeadm init kubeadm join kubeadm token kubeadm reset kubeadm version 这个可以在k8s v1.
1761 0