mysql pid文件是什么用途

mysql pid文件是什么用途,第1张

MySQL pid 文件记录的是当前 mysqld 进程的 pid,pid 亦即 Process ID。

可以通过如下的例子查看:

$ /etc/init.d/mysqld startStarting MySQL. SUCCESS!$ ll /data/mysql/centos.pid-rw-rw---- 1 mysql mysql 5 Apr 8 09:16 /data/mysql/centos.pid$ cat /data/mysql/centos.pid1598$ ps -ef | grep mysql | grep -v greproot 1476 1 0 09:16 pts/000:00:00 /bin/sh \/usr/local/mysql/bin/mysqld_safe \--datadir=/data/mysql \--pid-file=/data/mysql/centos.pidmysql 1598 1476 0 09:16 pts/000:00:00 /usr/local/mysql/bin/mysqld \--basedir=/usr/local/mysql \--datadir=/data/mysql --user=mysql \--log-error=/data/mysql/centos.err \--pid-file=/data/mysql/centos.pid \--socket=/tmp/mysql.sock \--port=3306

mysql

pid文件路径

文件位置

当mysql实例启动时,会将自己的进程id写入一个文件中——该文件即为pid文件。该文件可由参数pid_file控制,默认位于数据库目录下,文件名为主机名.pid:

mysql>

show

variables

like

'pid_file'\g

pid文件的作用

1.pid文件的内容

用cat命令查看,可以看到内容只有一行,记录了该进程的ID

2.pid文件的作用

防止启动多个进程副本

3.pid文件的原理

进程运行后会给.pid文件加一个文件锁,只有获得pid文件(固定路径固定文件名)写入权限(F_WRLCK)的进程才能正常启动并把自身的PID写入该文件中。其它同一个程序的多余进程则自动退出。

mysql的pid文件

mysql pid文件记录的是当前mysqld进程的pid. 《linux 就该这么学》

通过Mysqld_safe启动mysql时,mysqld_safe会检查pid文件,未指定PID文件时,pid文件默认名为$DATADIR/`hostname`.pid

1)pid文件不存在,不做处理.

2)文件存在,且pid已占用则报错"A mysqld process already exists"

文件存在,,但pid未占用,则删除pid文件。

mysqld启动后会通过create_pid_file函数新建pid文件,通过getpid()获取当前进程pid并将PID写入pid文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5905961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存