前言
接上一篇文章 mysql 启动过程中常见的相关报错信息
在 mysql 中文我们在 "service mysql start", "service mysql stop" 经常会碰到 mysql.pid 相关的错误信息
比如 "The server quit without updating PID file"
我们这里来看一下 mysql 中 mysql.pid 文件的创建 和 清理的时机
mysql.pid 的文件的创建时机
这个是在 mysqld 的主程序中 如下
在网络初始化之后
其具体的实现也很简单, 就是 open, write, close 等等
pid 的数据来自于 getpid 系统调用
创建 pid 文件的时候, 日志上下文如下
创建了 pid 文件之后的日志信息如下
mysql.pid 的文件的 清理 时机
在 mysqld 的主程序的末尾
通常来说, 我们使用 "service mysql stop" 或者 "kill $pid" 会执行该清理
删除该文件也很简单, remove 函数删除给定的文件
删除 pid 文件的时候, 日志上下文如下
删除了 pid 文件之后的日志信息如下, 基本上是在 mysql 生命周期的最后面了
完