MySQL 有关MHA搭建与切换的几个错误log汇总

MySQL 有关 MHA 搭建与切换的几个错误log汇总

介绍

MHA(Master High Availability)是基于 Master-Slave 复制技术的 MySQL 高可用方案,可以实现自动故障切换和在线修改主从配置等功能。在使用 MHA 过程中,可能会遇到一些错误和问题,下面整理了几个常见的错误 log。

MHA 搭建相关

问题:mha-prepare 期间出现"Failed to determine mysql_binlog_location"错误

原因

  • 主库未启用二进制日志。
  • MySQL 主库的 MySQL 配置文件 my.cnf 中 binlog_format 选项没有设置或设置错误。

解决方法

  1. 检查主库是否已启用二进制日志。

进入 MySQL 客户端,运行 show binary logs; 命令查看是否存在二进制日志。

mysql> show binary logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000001 | 72493547 |
+------------------+-----------+

如果没有二进制日志,则需要在主库 MySQL 的配置文件 my.cnf 中设置 binlog_format 选项。

  1. 检查 binlog_format 选项是否设置正确。

在主库 MySQL 的配置文件 my.cnf 中,确保 binlog_format 选项设置正确。

[mysqld]
binlog_format=ROW

问题:mha-preporare 期间出现"Failed to get master_version_info"错误

原因

  • 主库 MySQL 用户名或密码不正确。
  • MHA 报错信息中提到的配置文件路径不正确或者配置文件格式不正确。

解决方法

  1. 检查 MySQL 主库用户名和密码是否正确。

MHA 使用的是 MySQL 主库的用户名和密码,需要确保 MHA 所在的服务器可以使用该账号成功登录到 MySQL 主库。

  1. 检查配置文件路径和格式是否正确。

确认配置文件路径是否正确,并检查配置文件格式是否正确。例如,必须使用 YAML 格式来编写配置文件。

问题:mha-preporare 期间出现“Failed to get current master's hostname”的错误

原因

  • SSH 登录 MySQL 主库的用户没有 sudo 权限。
  • SSH 登录 MySQL 主库的用户没有执行 "hostname" 命令的权限。
  • MySQL 主库默认的 SSH 端口号不是 22。

解决方法

  1. 确定 SSH 登录 MySQL 主库的用户名和密码。

  2. 确定 MySQL 主库的 SSH 端口号。

MHA 支持在配置文件中指定 SSH 端口号,如果 MySQL 主机的 SSH 端口号不是 22,则需要在 MHA 配置文件中指定正确的 SSH 端口号。

[server1]
hostname=mydb1
port=3306
ssh_user=root
ssh_port=2222

  1. 确保 SSH 登录 MySQL 主机的用户拥有 sudo 和执行 "hostname" 命令的权限。

MHA 切换相关

问题:在执行 MHA 故障切换时出现 "Failed to stop SSH connections to 192.168.xx.xx" 错误

原因

  • 在故障转移过程中,SSH 连接没有正常关闭。

解决方法

  1. 检查正在运行的 MySQL 和 SSH 进程。

运行命令 ps -ef | grep mysqlps -ef | grep ssh 查看正在运行的 MySQL 和 SSH 进程。

  1. 手动关闭 MySQL 和 SSH 进程。

使用 kill 命令关闭所有与被故障主机连接的 MySQL 和 SSH 进程,例如:

$ kill -9 <mysql pid>
$ kill -9 <ssh pid>

  1. 再次运行 MHA 的故障转移命令。

问题:在执行 MHA 故障切换时出现 "Cannot connect to the NEW_MASTER(192.168.xxx.xxx) at Manager.pm" 错误

原因

  • 新的 MySQL 主库没有正确配置或者启动失败。

解决方法

  1. 确定新的 MySQL 主库是否已经正常启动。

使用 SSH 登录到新的 MySQL 主库,检查 MySQL 是否已经正常启动。如果 MySQL 没有启动,则需要手动启动 MySQL。

$ sudo service mysql start

  1. 确认新的 MySQL 主库的连接信息。

检查 MHA 配置文件中新的 MySQL 主库的连接信息是否正确。

[mysql_new_master]
hostname=192.168.xxx.xxx
port=3306
user=mha
password=password

总之,在使用 MHA 过程中遇到问题可以先查看错误日志,针对具体的错误和问题找到解决方法,从而更好的使用 MHA 实现 MySQL 的高可用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL 有关MHA搭建与切换的几个错误log汇总 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • MySQL不停地自动重启的解决方法

    当MySQL出现问题导致自动重启时,可以通过以下几个步骤解决: 检查MySQL日志 首先需要检查MySQL的错误日志(error log),查看MySQL重启的原因。可以打开MySQL配置文件(一般在/etc/mysql/my.cnf),找到以下行: log_error = /var/log/mysql/error.log 然后查看error.log文件,查…

    MySQL 2023年5月18日
    00
  • MySQL数据库安全配置介绍

    下面我将详细讲解MySQL数据库安全配置的攻略。 1. 强密码设置 MySQL中强密码的设置非常重要,可以有效防止恶意攻击者通过猜测密码或暴力破解攻击进行入侵。 1.1 密码复杂度设置 可以通过修改my.cnf配置文件来设置密码复杂度,如下: [mysqld] validate_password_policy=STRONG validate_password…

    MySQL 2023年5月19日
    00
  • MySql索引下推知识分享

    作者:刘邓忠 Mysql 是大家最常用的数据库,下面为大家带来 mysql 索引下推知识点的分享,以便巩固 mysql 基础知识,如有错误,还请各位大佬们指正。 1 什么是索引下推 索引下推 (Index Condition Pushdown,索引条件下推,简称 ICP),是 MySQL5.6 版本的新特性,它可以在对联合索引遍历过程中,对索引中包含的所有字…

    MySQL 2023年4月12日
    00
  • MySQL表设计与优化

    影响MySQL查询性能的因素有很多,我们经常会对查询语句、索引字段做一些优化,而其实在表设计的阶段就可能产生一些问题。对于表设计,可以对表结构进行优化,也可以对表字段进行优化。以下通过一个具体的案例演示一些常用的表设计优化的方法。 一、业务需求 这里,就以学生-教师-课程业务作为示例。数据库需要存放学生、教师、课程相关信息。学生信息包括学号、姓名、性别、专业…

    MySQL 2023年4月17日
    00
  • MySQL远程无法连接的一些常见原因总结

    MySQL远程无法连接的一些常见原因总结 MySQL是一款十分流行的关系型数据库,常用于web应用和后端服务中。然而,在使用MySQL时,经常会遇到远程无法连接的问题。本文总结了一些常见的原因,并为解决这些问题提供了一些示例。 原因一:MySQL服务未启动 在无法连接MySQL时,首先需要检查MySQL服务是否已经启动。可以使用以下命令检查MySQL服务状态…

    MySQL 2023年5月18日
    00
  • 详解MySQL逻辑运算符

    MySQL提供了多种逻辑运算符,用于对比和处理表达式结果的布尔值(True或False)。以下是主要的逻辑运算符及其使用方法: AND(与)运算符 AND运算符用来组合两个或更多的条件,只有当所有条件都为True时,AND运算符的结果才为True。其语法为: expr1 AND expr2 其中,expr1和expr2都是表达式。如果expr1和expr2都…

    MySQL 2023年3月9日
    00
  • PHP读取MySQL中文乱码

    今天用PHP读取的MySQL中的中文内容字段,结果读取出来的居然乱码。 使用下面的语句设置连接编码,结果还是照旧。 $charset = $params[‘charset’]; mysql_query(‘SET character_set_connection=$charset, character_set_results=$charset, charact…

    MySQL 2023年4月13日
    00
  • mysql or走索引加索引及慢查询的作用

    MySQL OR运算符走索引、加索引及慢查询的作用 在MySQL中,我们常常会使用OR运算符来连接多个条件来进行复杂的查询。但是,如果使用不当,OR运算符会导致查询变慢,因此需要注意。 OR运算符的使用场景 假设我们有一张名为“users”的用户表,其中包含了用户的姓名、性别、年龄和城市等字段信息。 现在我们需要查询女性用户或者年龄大于25岁的用户,此时我们…

    MySQL 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部