mysq启动失败问题及场景分析

这篇文章主要介绍了mysq启动失败问题及解决方法,通过问题分析定位特殊场景解析给大家带来完美解决方案,需要的朋友可以参考下

一、一站式解决

 1. 问题分析定位

 # 找到MySQL的配置文件,复制mysql的数据目录 vim /etc/my.cnf # 进入msyql的数据目录 cd /data/mysql # 查看日志文件 vim mysql.err

[ERROR] The server_uuid stored in auto.cnf file is not a valid UUID.
[ERROR] Initialization of the server's UUID failed because it could not be read from the auto.cnf file. If this is a new server, the initialization failed because it was not possible to generate a new UUID.
[ERROR] Aborting

从上面日志可以看出,是我的uuid不符合校验,由于我是同一个虚拟机复制的,导致uuid以这样了,修改uuid的值即可

解决方案

 find / -iname "auto.cnf" vim /data/mysql/auto.cnf # 原内容 [auto] server-uuid=64cbb3d1-e150-11eb-81a2-000c2972fe1f # 调整后内容,自定义即可,把最后一位f替换为a [auto] server-uuid=64cbb3d1-e150-11eb-81a2-000c2972fe1a # 重新启动mysql # centos7.x systemctl restart mysql # centos6.x service myqld restart

二、特殊场景

2.1. 问题分析定位

一般出现这汇总情况就是mysql根目录下面的mysql.pid因为故障原因没了。

 cd /data/mysql ll

2.2. 解决方案

把mysql.pid恢复即可,如果恢复不了,九新建一个名称为mysql.pid的文件,添加mysql运行的pid即可,这个pid在mysql.sock.lock文件中,首先找到mysql.sock.lock的位置。

 # 查找my.cnf find / -iname "my.cnf" # 查看文件内容 cat /etc/my.cnf # 找到my.cnf文件的这一行 socket=/tmp/mysql.sock # 进入到/tmp/ cd /tmp/ # 查看文件的内容 cat mysql.sock.lock

在这里插入图片描述

 # mysql.sock.lock文件中的9136这个数字就是mysql的运行的pid # 在mysql的根目录下面创建mysql.pid vim mysql.pid # 把刚才的 mysql.sock.lock文件中的9136添加进去 略 # 重启mysql systemctl restart mysql # 查看mysql状态 systemctl status mysql

2.3. 解决方案2

这是一种特殊情况,mysql.sock.lock和mysql.pid文件都没有怎么办呢?

 # 查找my.cnf find / -iname "my.cnf" # 查看文件内容 cat /etc/my.cnf # 找到my.cnf文件的这一行 socket=/tmp/mysql.sock # 进入到/tmp/ cd /tmp/ # 查看文件的内容 vim mysql.sock.lock # 添加一个现系统中,没有用到的pid,如果不知道怎么查,那就随机一个4位数的数字,添加进去。比如说9137 # 在mysql的根目录下面创建mysql.pid vim mysql.pid # 将刚才的mysql.sock.lock文件中的0137,添加到mysql.pid文件中,只要保持一致即可 # 重启mysql systemctl restart mysql # 查看mysql状态 systemctl status mysql

以上就是mysq启动失败问题及场景分析的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 数据库