MySQL MHA配置常见问题

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:     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
mysql@172.16.16.10"
  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   :
http://blog.csdn.net/leshami
  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
mysql@192.168.1.7(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


11、清理mysql.user用户表中用户名为空的记录(补充@20150421)

    笔者有一次在做在线切换时发现复制账户从一个slave可以到新master,而无法从original master连接到新master,删除用户为空记录后正常

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
42
分享
相关文章
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
117 26
seatunnel配置mysql2hive
本文介绍了SeaTunnel的安装与使用教程,涵盖从安装、配置到数据同步的全过程。主要内容包括: 1. **SeaTunnel安装**:详细描述了下载、解压及配置连接器等步骤。 2. **模拟数据到Hive (fake2hive)**:通过编辑测试脚本,将模拟数据写入Hive表。 3. **MySQL到控制台 (mysql2console)**:创建配置文件并执行命令,将MySQL数据输出到控制台。 4. **MySQL到Hive (mysql2hive)**:创建Hive表,配置并启动同步任务,支持单表和多表同步。
156 15
mysql主从复制概述和配置
【10月更文挑战第22天】MySQL 主从复制是一种将主服务器的数据复制到一个或多个从服务器的技术,实现读写分离,提高系统性能和可用性。主服务器记录变更日志,从服务器通过 I/O 和 SQL 线程读取并应用这些变更。适用于读写分离、数据备份和恢复、数据分析等场景。配置步骤包括修改配置文件、创建复制用户、配置从服务器连接主服务器并启动复制进程。
287 1
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
489 2
Mysql中搭建主从复制原理和配置
主从复制在数据库管理中广泛应用,主要优点包括提高性能、实现高可用性、数据备份及灾难恢复。通过读写分离、从服务器接管、实时备份和地理分布等机制,有效增强系统的稳定性和数据安全性。主从复制涉及I/O线程和SQL线程,前者负责日志传输,后者负责日志应用,确保数据同步。配置过程中需开启二进制日志、设置唯一服务器ID,并创建复制用户,通过CHANGE MASTER TO命令配置从服务器连接主服务器,实现数据同步。实验部分展示了如何在两台CentOS 7服务器上配置MySQL 5.7主从复制,包括关闭防火墙、配置静态IP、设置域名解析、配置主从服务器、启动复制及验证同步效果。
285 0
Mysql中搭建主从复制原理和配置
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
258 82
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。

热门文章

最新文章