热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQLMHA配置常见问题

MHA在MySQL数据库中被广泛使用,它小巧易用,功能强大,实现了基于MySQLreplication架构的自手动主从故障转移,从库重定向到主库

MHA在MySQL数据库中被广泛使用,它小巧易用,功能强大,实现了基于MySQL replication架构的自手动主从故障转移,从库重定向到主库

MHA在MySQL数据库中被广泛使用,它小巧易用,功能强大,实现了基于MySQL replication架构的自手动主从故障转移,从库重定向到主库并自动同步。尽管如此,在部署配置的过程中,由于疏忽总难以避免这样或那样的错误。本文是对MHA配置中常见问题的一个汇总,供大家参考。

1、非root用户等效性环境等效性配置
a、添加所有节点(含管理节点)主机名及IP到host文件,所有节点操作
b、生成基于非root用户(如使用mysql账户)的对称密钥,使用ssh-keygen
c、复制公钥到其他各节点(含管理节点),如下,且使用了非缺省ssh 端口
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 50011 [email protected]"
d、验证等效性(首次需要输入密码)
ssh -p 50011 vdbsrv1 date;ssh -p 50011 vdbsrv2 date;ssh -p 50011 vdbsrv3 date;ssh -p 55555 vdbsrv4 date

2、MHA管理节点目录权限问题
###如果在管理节点使用了非root用户进行mha管理,则需要相关权限,否则报错
###如下我们使用mysql用户管理mha,则在root账户先创建相关目录,在赋权给mysql
# mkdir -p /var/log/masterha/app1
# chown -R mysql:mysql /var/log/masterha
# su - mysql
$ masterha_check_repl --cOnf=/etc/app1.cnf ###使用mysql用户校验复制关系

3、需要添加用于登陆到mysql服务器账户
###需要STOP SLAVE, CHANGE MASTER, RESET SLAVE等相关权限,该账户要添加到mha配置文件中,主从切换时用到
###在mysql数据库各节点执行,如下由于跨网段,所以分配了跨网段账户,否则,单条赋权即可
### Author : Leshami
### Blog :
mysql> grant all privileges on *.* to 'mha'@'172.16.16.%' identified by '***';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on *.* to 'mha'@'192.168.1.%' identified by '***';
Query OK, 0 rows affected (0.00 sec)

4、需要添加用于建立复制关系的账户
###在mysql数据库各节点执行,如下由于跨网段,所以分配了跨网段账户,否则,,单条赋权即可
mysql> grant replication slave on *.* to 'repl'@'172.16.16.%' identified by '***';
Query OK, 0 rows affected (0.00 sec)

mysql> grant replication slave on *.* to 'repl'@'192.168.1.%' identified by '***';
Query OK, 0 rows affected (0.00 sec)

5、从库的各客户端应开启binlog,即log_bin=on
###未开启则收到如下提示:
Mon Apr 13 20:02:15 2015 - [warning] log-bin is not set on slave SZ-DB-SLAVE01(192.168.81.3:3306).
This host cannot be a master.

6、各主从库应该使用相同的复制过滤规则
###否则收到如下的错误提示:
Mon Apr 13 20:02:15 2015 - [error][/usr/lib/perl5/site_perl/5.8.8/MHA/ServerManager.pm, ln546] Replication
filtering check failed on dbsrv3(192.168.1.3:3306)! All slaves must have same replication filtering rules.
Check SHOW SLAVE STATUS output and set my.cnf correctly.
Mon Apr 13 20:02:15 2015 - [warning] Bad Binlog/Replication filtering rules:

7、各从库应设置relay_log_purge=0
###否则收到以下告警信息 ##mysql -e 'set global relay_log_purge=0' 动态修改该参数,因为随时slave会提升为master。补充@150420
Mon Apr 13 20:02:15 2015 - [warning] relay_log_purge=0 is not set on slave vdbsrv2(172.16.16.12:3306).

8、各从库设置read_Only=1
###否则收到以下告警信息 ## mysql -e 'set global read_Only=1' 动态修改该参数,因为随时slave会提升为master。补充@150420
Mon Apr 13 20:19:54 2015 - [info] read_Only=1 is not set on slave vdbsrv3(172.16.16.13:3306).

9、mysqlbinlog version过低
###大多数情况下我们使用yum方式安装perl-DBD-MySQL,该方式会自动安装mysql rpm包。
###MHA在执行master_check_repl会调用/usr/bin/mysqlbinlog,对于源码安装在不同的路径的mysql高版本
###则收到如下错误提示:
Thu Apr 16 14:01:44 2015 - [info] Connecting to [email protected](vdbsrv2:22)..
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.

###解决方案是编译安装perl-DBD-MySQL时指定mysql安装位置,或者参考:mysqlbinlog can not parse row based events


10、缺省路径下mysql客户端如果不存在则出现以下提示
###通过建立软链或者yum install perl-DBD-MySQL会自动安装mysql
Testing mysql connection and privileges..sh: mysql: command not found
mysql command failed with rc 127:0!
at /usr/bin/apply_diff_relay_logs line 375

本文永久更新链接地址

推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • Git管理工具SourceTree安装与使用指南
    本文详细介绍了Git管理工具SourceTree的安装、配置及团队协作方案,旨在帮助开发者更高效地进行版本控制和项目管理。 ... [详细]
  • MongoDB的核心特性与架构解析
    本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ... [详细]
author-avatar
那是电话卡技术的
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有