MySQL启动提示The server quit without updating PID file (/[失败]sqld/mysqld.pid).

mysql突然挂掉,重新启动提示The server quit without updating PID file
在这里插入图片描述
从网上找了各种方法尝试都不管用,开始以下漫长的尝试之路~

首先 从 mysqld_safe 查看日志路径
在这里插入图片描述
打开日志看到报错信息:
2021-12-28T12:58:09.193497Z 0 [Note] Server socket created on IP: ‘0.0.0.0’.
2021-12-28T12:58:09.194701Z 0 [ERROR] /usr/local/mysql/bin/mysqld: Can’t create/write to file ‘/tmp/mysqld/mysqld.pid’ (Errcode: 2 - No such file or directory)
2021-12-28T12:58:09.194730Z 0 [ERROR] Can’t start server: can’t create PID file: No such file or directory

提示创建不了PID 文件

看不懂,所以去搜索了下 PID文件是啥,参考文章:
https://blog.csdn.net/weixin_33195162/article/details/113291268(mysql pid文件作用_pid文件的作用) 有兴趣可以去看下,
简单说就是 PID文件记录了mysql程序启动时的进程的ID 。

为解决创建不了PID 文件报错问题,开始以下操作:
打开“/etc/init.d/mysqld”文件查找配置的PID文件路径,我的配置路径是 /tmp/mysqld/mysqld.pid 。 cd到路径下发现文件不存在,所以手动创建。
创建过程:
1、创建文件
cd /tmp/
mkdir mysqld
cd mysqld
touch mysqld.pid
sync

2、修改 /tmp/mysqld/权限为mysql
chown -R mysql /tmp/mysqld
chgrp -R mysql /tmp/mysqld
chmod 777 /tmp/mysqld

创建完成,启动又提示以下错误:
2021-12-28T13:36:28.083680Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-12-28T13:36:28.083894Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2021-12-28T13:36:28.083940Z 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.7.21-log) starting as process 21446 …

2021-12-29T03:32:45.609894Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
2021-12-29T03:32:45.609935Z 0 [Note] Server hostname (bind-address): ‘0.0.0.0’; port: 3306
2021-12-29T03:32:45.609981Z 0 [Note] - ‘0.0.0.0’ resolves to ‘0.0.0.0’;
2021-12-29T03:32:45.610036Z 0 [Note] Server socket created on IP: ‘0.0.0.0’.
2021-12-29T03:32:45.610096Z 0 [ERROR] Could not open unix socket lock file /usr/local/mysql/mysql.sock.lock.
2021-12-29T03:32:45.610105Z 0 [ERROR] Unable to setup unix socket lock file.
2021-12-29T03:32:45.610112Z 0 [ERROR] Aborting

百度了下,解决上面问题,在my.cnf中添加或修改explicit_defaults_for_timestamp=true

注:修改时不一定在my.cnf中,而是在my.cnf中指定的文件中,我的是写在指定的子文件中的,一开始修改时也挺蒙圈的,附一段内容,方便查找修改。
在这里插入图片描述
mysql_my_cnf.png
参考文章中说,修改完文件,使文件生效后,再试试创建上面的表,就ok啦~

But 修改完上面的内容,启动还是不OK~~

又报错:Could not open unix socket lock file /usr/local/mysql/mysql.sock.lock

2021-12-29T03:17:13.316858Z 0 [Note] Server socket created on IP: ‘0.0.0.0’. 2021-12-29T03:17:13.316906Z 0 [ERROR] Could not open unix socket lock file /usr/local/mysql/mysql.sock.lock. 2021-12-29T03:17:13.316912Z 0 [ERROR] Unable to setup unix socket lock file. 2021-12-29T03:17:13.316917Z 0 [ERROR] Aborting

解决办法:
进入/tmp/查看mysql.sock.lock,文件大小为0,直接删除该文件rm -rf mysql.sock.lock再启动mysql:service mysqld start。即可启动成功。

终于终于,启动成功了~~~
在这里插入图片描述

查了下mysql.sock.lock文件:
mysql.sock.lock是可读文本文件,记录了MySQL启动的PID,对应套接字文件mysql.sock.参考链接 https://bbs.csdn.net/topics/392142823 该问题是因磁盘写满导致MySQL宕了,没能正确删除mysql.sock.lock,进而导致启动失败。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值