Print

DBAAS 上mysql单机状态显示为“已停止”

20小时前 发表

组网及说明

CloudOS5137版本

告警信息

mysql单机状态显示为“已停止

问题描述

mysql单机状态显示为“已停止,如下图。

 

 

 

 

过程分析

1、测试CloudOS节点和这个mysql虚拟机IP:28888端口通不通,测试结果不通

可使用curl http://IP:28888命令测试

2、排查虚拟机内部28888端口是否还在监听,发现没有监听,这个是ambari-server服务监听端口,ambari-server管理数据库的服务,健康探测需要。

 

3、虚拟机内部执行ambari-server status查询服务状态,发现没运行

4、此时的排查思路是先执行systemctl restart mysqld,然后数据库重启之后(这个非业务数据库,不影响业务)再重启ambari-server,但是重启数据库发现有问题

5、怀疑是mysql虚拟机的/etc/my.cnf被修改了,找一个正常虚拟机和异常虚拟机进行对比,发现差别很大,这个文件是监控服务使用的配置文件,不应当被修改的,怀疑是人为修改过

6、虚拟机内部查看文件修改记录,使用stat命令查看/etc/my.cnf文件,发现2023年5月4日修改过

而虚拟机创建时间则是22年11月8日,正常虚拟机内的文件日期就是创建时间

解决方法

解决思路:

由于/etc/my.cnf这个是dbaas内置库的配置文件,同一个版本是固定的,因此直接将正常的mysql集群的该文件拷贝到异常mysql虚拟机内部相同路径,将异常虚拟机的/etc/my.cnf替换掉

1、将异常虚拟机内部/etc/my.cnf修改名字进行备份

mv /etc/my.cnf /etc/my.cnf.bak

2、将正常虚拟机内部的/etc/my.cnf拷贝到异常mysql虚拟机

3、在异常虚拟机内部执行

systemctl restart mysqld

ambari-server restart

等待数分钟后查看mysql集群监控状态