本篇内容主要讲解“mysql启动失败的原因是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql启动失败的原因是什么”吧!
一、一站式解决
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.xsystemctl restart mysql# centos6.xservice myqld restart
二、特殊场景
1. 问题分析定位
一般出现这汇总情况就是mysql根目录下面的mysql.pid因为故障原因没了。
cd /data/mysqlll
2. 解决方案
把mysql.pid恢复即可,如果恢复不了,九新建一个名称为mysql.pid的文件,添加mysql运行的pid即可,这个pid在mysql.sock.lock文件中,首先找到mysql.sock.lock的位置。
# 查找my.cnffind / -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.pidvim mysql.pid# 把刚才的 mysql.sock.lock文件中的9136添加进去略# 重启mysqlsystemctl restart mysql# 查看mysql状态systemctl status mysql
解决方案2
这是一种特殊情况,mysql.sock.lock和mysql.pid文件都没有怎么办呢?
# 查找my.cnffind / -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.pidvim mysql.pid# 将刚才的mysql.sock.lock文件中的0137,添加到mysql.pid文件中,只要保持一致即可# 重启mysqlsystemctl restart mysql# 查看mysql状态systemctl status mysql
到此,相信大家对“mysql启动失败的原因是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!