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 ...
随机推荐
- GZIP怎么运用在.NET MVC 简单实现
ZIP压缩其实就是将网页内容压缩,减少HTML代码网络传输的代价,来提高Web性能. 这个请求的过程解释一下: 1:客户端Request请求.Http_header中会根据相应的浏览器发送相应的编码规 ...
- Cannot forward after response has been committed问题的解决
Cannot forward after response has been committed问题解决及分析 通过TOMCAT把系统启动,可以正常登陆门户,登陆进去选择子系统的时候点击登陆的时候,可 ...
- CF 1130A 1130B 1130C1129A1 1129A2 1129B(Round542A B C D1 D2 E)题解
A : Be Positive 题目地址:https://codeforces.com/problemset/problem/1130/A 题解:让你求是否满足一个d使得数列长为n的a数组的每个数除以 ...
- 使用iCamera 白平衡调试小结 CC1603@AR0134
使用iCamera 白平衡调试小结 CC1603@AR0134 iCamera有强大的各种摄像头调试功能 之前演示过的有:曝光.增益.各种寄存器测试.RAW.yuv输出 今天测试下白平衡功能 绝大多数 ...
- 使用 defineProperty 劫持数据属性的改变
使用defineProperty劫持数据属性的变化 例子一:有一个全局变量a,有一个全局函数b,实现一个`bindData`,执行后,a的任何赋值都会触发b的执行 // var a = 1;a = 1 ...
- 【CuteJavaScript】GraphQL真香入门教程
看完复联四,我整理了这份 GraphQL 入门教程,哈哈真香... 欢迎关注我的 个人主页 && 个人博客 && 个人知识库 && 微信公众号" ...
- Python安装pIL包
PIL包名为pillow 使用命令进行安装: pip3 install pillow
- java_冒泡排序
public static void main(String[] args){ int[] arr= {321, 43, 45, 76, 8, 6, 9, 1, 3, 63, 43}; for(int ...
- 【MySql】使用学习
[MySql]使用学习 =================================================== 1.太多的连接 Too many connections ======= ...
- 【ES6】数值的扩展
1.Number.isFinite()和Number.isNaN()[只对数值有效] (1)Number.isFinite()用来检查一个数值是否为有限的(finite),即不是Infinity. [ ...