MySQL Error Log 文件丢失导致The server quit without updating PID file启动失败的场景
今天在做mysql sniff测试的时候,中间重启MySQL实例的过程中,出现了"The server quit without updating PID file"这个经典的错误。
因为把mysql sniff的日志文件放在了mysql实例的目录中,因此删除mysql sniff日志的时候无意中删除了mysql的errorlog文件。
所以一开始怀疑这里出现的错误是mysql sniff进程在MySQL实例的datadir下写数据导致的,各种尝试重现都无法重现。
最后仔细回忆了一下错误最开始的一些操作,好似乎跟mysql的errorlog有关,尝试后发现是删除MySQL的errorlog之后重启,也可以造成上述错误
重现方式如下:
1,对于正常运行的MySQL实例,直接删除MySQL配置的errorlog文件
2,重启MySQL实例,发现:The server quit without updating PID FILE
解决办法1:
step 1,手动生成mysql errorlog文件,errorlog文件名称需要与配置文件中的配置名称保持不一致
step 2,修改MySQL相关文件的权限,chown -R mysql:mysql
解决办法2:
1,简单粗暴,直接修改MySQL配置文件中的用户,以root用户启动
2,待MySQL实例启动后,因为部分文件属主是root,比如每次重启都会重新生成的ibtmp1文件,修改MySQL相关文件的权限,chown -R mysql:mysql
3,修改配置文件中的user为mysql,重启实例
最后,为什么删除mysql的errorlog可以导致mysql重启的时候出现"The server quit without updating PID file"?
查阅了很多资料,了解了一下MySQL的启动过程,个人推测大概如下
1,mysql实例启动的过程中需要往errorlog中写入启动信息,如果errorlog不存在,则启动失败
2,以root用户启动的时候,root用户的权限更高,应该可以创建errorlog
3,不管怎么解决这个错误,最后一定要修改MySQL basedir的属主。
参考:
https://www.cnblogs.com/ivictor/p/6846017.htmlhttps://blog.csdn.net/wzl505/article/details/53322845https://codar.club/blogs/5c2d75cca8b3b.html(太奇葩了,应该是翻译软件翻译上面第一个的链接的内容的,看到这句话震惊了:Many children's shoes encountered this mistake when they started mysql.)
另:
MySQL 5.7版本下,mysql sniff死活抓不到当前实例请求的包数据,经过各种重启,各种折腾还是不行,最后发现mysql sniff已经对5.7不支持了
开源是把双刃剑,别人的东西,没问的时候,用起来爽歪歪,有了问题,又没有源码修改能力,就只能干瞪眼了。
https://github.com/Qihoo360/mysql-sniffer/issues/32
MySQL Error Log 文件丢失导致The server quit without updating PID file启动失败的场景的更多相关文章
- 深度解析MySQL启动时报“The server quit without updating PID file”错误的原因
很多童鞋在启动mysql的时候,碰到过这个错误, 首先,澄清一点,出现这个错误的前提是:通过服务脚本来启动mysql.通过mysqld_safe或mysqld启动mysql实例并不会报这个错误. 那么 ...
- mysqld_safe error: log-error set to '/data/log/mysqld.log', however file don't exists. Create writable for user 'mysql'.The server quit without updating PID file (/data/mysql/mysqld.pid)
[oot@cent65 bin]# service mysqld startStarting MySQL.2019-10-28T15:56:47.786960Z mysqld_safe error: ...
- Starting MySQL... ERROR! The server quit without updating PID file 问题解决
今天遇到一个mysql起不来,不知为啥挂了,启动是下面的报错 Starting MySQL... ERROR! The server quit without updating PID file 后来 ...
- MySQL.. ERROR! The server quit without updating PID file问题解决
不小心将服务器OS给重启了,再启动数据库的时候,出现了很奇怪的问题 [root@dev run]# service mysql restart ERROR! MySQL server PID file ...
- Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/var/AYXXXXXXXXXXX.pid). 错误解决方法
/etc/init.d/mysql start无法启动MySQL错误信息如下: ERROR! MySQL server PID file could not be found! Starting My ...
- Starting MySQL.. ERROR! The server quit without updating PID file
版权声明:本文为博主原创文章,未经博主允许不得转载. 注意:本文出自 “阿飞”的博客 ,如果要转载本文章,请与作者联系! 并注明来源: http://blog.csdn.net/faye0412/ar ...
- Starting MySQL... ERROR! The server quit without updating PID file (/home/mysql-5.6.43/data/localhost.localdomain.pid).
启动MySQL出现如下错误 May :: localhost mysqld: Starting MySQL... ERROR! The server quit without updating PID ...
- [转]MySQL: Starting MySQL….. ERROR! The server quit without updating PID file
转自: http://icesquare.com/wordpress/mysql-starting-mysql-error-the-server-quit-without-updating-pid-f ...
- 启动mysql报错 -- ERROR! The server quit without updating PID file
开发说某个测试环境的mysql,无法重启了,报以下错误提示: # service mysqld restart Shutting down MySQL.. SUCCESS! Starting MySQ ...
随机推荐
- iOS设计模式之:建造者模式Builder Pattern,用于改进初始化参数
转自:http://www.cnblogs.com/wengzilin/p/4365855.html 本文主要讨论一下iOS中的Builder Pattern.与网上很多版本不同,本文不去长篇大论地解 ...
- 最简单易懂的linux系统基础优化
第10章 linux的系统优化 10.1 系统的版本,内核查看 10.1.1 系统版本的查看 [root@oldboy6666 ~]# cat /etc/redhat-release CentOS L ...
- MySQL InnoDB 存储引擎原理浅析
注:本文主要基于MySQL 5.6以后版本编写,多数知识来着书籍<MySQL技术内幕++InnoDB存储引擎>,本文章仅记录个人认为比较重要的部分,有兴趣的可以花点时间读原书. 一.MyS ...
- windows系统的python开发环境的搭建
step1: 访问python官方网站下载python安装包 https://www.python.org/downloads/windows/ 下载自己想要的版本 勾上Add Python XX ...
- 【Spring Boot】定时任务
[Spring Boot]定时任务 测试用业务Service package com.example.schedule.service; import org.springframework.ster ...
- python学习-caculator
# 运算符操作# 算术运算符num_a = 100num_b = 5000 # 加法print(num_a + num_b)# 减法print(num_a - num_b)# 乘法 *print(nu ...
- Android WebView 基本设置与H5 交互
mWebView.setDrawingCacheEnabled(true); WebChromeClient webChromeClient = new WebChromeClient(); mWeb ...
- 聊聊 Python 的内置电池
本文原创并首发于公众号[Python猫],未经授权,请勿转载. 原文地址:https://mp.weixin.qq.com/s/XzCqoCvcpFJt4A-E4WMqaA (一) 最近,我突然想到一 ...
- Python 浮点数的冷知识
本周的PyCoder's Weekly 上分享了一篇小文章,它里面提到的冷知识很有意思,我稍作补充,分享给大家. 它提到的部分问题,读者们可以先思考下: 若两个元组相等,即 a==b 且 a is b ...
- CQRS+ES项目解析-Diary.CQRS
在<当我们在讨论CQRS时,我们在讨论些神马>中,我们讨论了当使用CQRS的过程中,需要关心的一些问题.其中与CQRS关联最为紧密的模式莫过于Event Sourcing了,CQRS与ES ...