今天在做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启动失败的场景的更多相关文章

  1. 深度解析MySQL启动时报“The server quit without updating PID file”错误的原因

    很多童鞋在启动mysql的时候,碰到过这个错误, 首先,澄清一点,出现这个错误的前提是:通过服务脚本来启动mysql.通过mysqld_safe或mysqld启动mysql实例并不会报这个错误. 那么 ...

  2. 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: ...

  3. Starting MySQL... ERROR! The server quit without updating PID file 问题解决

    今天遇到一个mysql起不来,不知为啥挂了,启动是下面的报错 Starting MySQL... ERROR! The server quit without updating PID file 后来 ...

  4. MySQL.. ERROR! The server quit without updating PID file问题解决

    不小心将服务器OS给重启了,再启动数据库的时候,出现了很奇怪的问题 [root@dev run]# service mysql restart ERROR! MySQL server PID file ...

  5. 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 ...

  6. Starting MySQL.. ERROR! The server quit without updating PID file

    版权声明:本文为博主原创文章,未经博主允许不得转载. 注意:本文出自 “阿飞”的博客 ,如果要转载本文章,请与作者联系! 并注明来源: http://blog.csdn.net/faye0412/ar ...

  7. 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 ...

  8. [转]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 ...

  9. 启动mysql报错 -- ERROR! The server quit without updating PID file

    开发说某个测试环境的mysql,无法重启了,报以下错误提示: # service mysqld restart Shutting down MySQL.. SUCCESS! Starting MySQ ...

随机推荐

  1. jquery.countdown 倒计时插件的学习

    1.第一种简单的使用 第一个时间是你的倒计时截止时间,finalDate格式可以是YYYY/MM/DD MM/DD/YYYY YYYY/MM/DD hh:mm:ss MM/DD/YYYY hh:mm: ...

  2. openlayers5-webpack 入门开发系列结合 echarts4 实现散点图(附源码下载)

    前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载 ...

  3. 【重温基础】JS中的常用高阶函数介绍

    Ps. 晚上加班到快十点,回来赶紧整理整理这篇文章,今天老大给我推荐了一篇文章,我从写技术博客中收获到了什么?- J_Knight_,感受也是很多,自己也需要慢慢养成记录博客的习惯,即使起步艰难,难以 ...

  4. 《一头扎进》系列之Python+Selenium框架设计篇2- 价值好几K的框架,不看白不看,看了还想看

    1. 简介 上一篇介绍了自动化框架的架构,今天宏哥就带领小伙伴或者童鞋们开始开工往这个框架里开始添砖加瓦.主要是介绍一个框架unittest单元测试框架和一种设计思想POM. 2. unittest单 ...

  5. 11个点让你的Spring Boot启动更快

    前言 使用的是 OpenJDK 11. java --version openjdk 11.0.1 2018-10-16 OpenJDK Runtime Environment 18.9 (build ...

  6. 学习构建调试Linux内核网络代码的环境MenuOS系统

    构建调试Linux内核网络代码的环境MenuOS系统 一.前言 这是网络程序设计的第三次实验,主要是学习自己编译linux内核,构建一个具有简易功能的操作系统,同时在系统上面进行调试linux内核网络 ...

  7. Elasticsearch系列---初识搜索

    概要 本篇主要介绍搜索的报文结构含义.搜索超时时间的处理过程,提及了一下多索引搜索和轻量搜索,最后将精确搜索与全文搜索做了简单的对比. 空搜索 搜索API最简单的形式是不指定索引和类型的空搜索,它将返 ...

  8. Dynamics 365 Portal Onpremise缓存问题

    最近被Dynamics 365 Portal的缓存问题折腾得不轻,Portal的配置进行缓存也就算了,连CRM中的记录也进行了长达15分钟到2小时的缓存,这是完全无法接受的 试想,我们有一个Porta ...

  9. Electron中使用sql.js操作SQLite数据库

    推荐sql.js——一款纯js的sqlite工具. 一.关于sql.js sql.js(https://github.com/kripken/sql.js)通过使用Emscripten编译SQLite ...

  10. SpringBoot FatJar启动原理

    目录 SpringBoot FatJar启动原理 背景 储备知识 URLStreamHandler Archive 打包 SpringBoot启动 扩展 SpringBoot FatJar启动原理 背 ...