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 ...
 
随机推荐
- [TimLinux] Python 装饰器
			
1. 装饰器 一种语法格式,用于替换另外一个编码风格,一种语法糖,通过语法结构明确标识出这样一种语法. 自动在被装饰对象尾部执行代码(不使用装饰器语法时,需要明确写明的代码) 被装饰对象可以为函数.类 ...
 - GeoTools介绍、环境安装、读取shp文件并显示
			
GeoTools是一个开放源代码(LGPL)Java代码库,它提供了符合标准的方法来处理地理空间数据,例如实现地理信息系统(GIS).GeoTools库实现了开放地理空间联盟(OGC)规范. Geot ...
 - BZOJ1001: [BeiJing2006]狼抓兔子(优化的dinic或转化对偶图求最短路)
			
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 30078 Solved: 7908[Submit][ ...
 - Docker学习-jenkins+github实现持续集成和部署
			
上一篇介绍了docker环境搭建,本篇继续深入,结合jenkins利用docker-compose容器编排简单介绍下如何实现个人学习的持续集成/部署. 本篇学习曲线: 1.安装/运行jenkins容器 ...
 - 静态页面开发JS页面跳转加密解密URL和参数
			
页面跳转加密URL地址参数传递 window.location.href="foot.html?"+"good="+encodeURI(encodeURI(go ...
 - 【HTTP】HTTP 的15个常见知识点复习
			
前言 自从入职新公司到现在,我们前端团队内部一直在做 ?每周一练 的知识复习计划,我之前整理了一个 每周一练 之 数据结构与算法 学习内容,大家也快去看看~~ 最近三周,主要复习 网络基础 相关的知识 ...
 - 使用笛卡尔积生成sku
			
/// <summary> /// 生成SKU价格表 /// </summary> /// <param name="model"></p ...
 - redis(6)--redis集群之分片机制(redis-cluster)
			
Redis-Cluster 即使是使用哨兵,此时的Redis集群的每个数据库依然存有集群中的所有数据,从而导致集群的总数据存储量受限于可用存储内存最小的节点,形成了木桶效应.而因为Redis是基于内存 ...
 - 深入探索Java设计模式(四)之享元模式
			
享元模式适用于需要大量相同类型对象的情况.在此,设计布局可以减少创建多个对象的方式.对象在运行时会消耗资源,因此最好在内存中使用较少的对象.它减少了内存占用并利用了程序的整体性能.本文是在学习完优锐课 ...
 - hdu 1052 Tian Ji -- The Horse Racing (田忌赛马)
			
Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...