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.pid
1598
$ ps -ef | grep mysql | grep -v grep
root 1476 1 0 09:16 pts/0 00:00:00 /bin/sh \
/usr/local/mysql/bin/mysqld_safe \
--datadir=/data/mysql \
--pid-file=/data/mysql/centos.pid
mysql 1598 1476 0 09:16 pts/0 00: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
1、未指定 pid 文件时,pid 文件默认名为 主机名.pid,存放的路径在默认 MySQL 的数据目录。通过 mysqld_safe 启动 MySQL 时,mysqld_safe 会检查 pid 文件,如果 pid 文件不存在,不做处理;如果文件存在,且 pid 已占用则报错 "A mysqld process already exists",如果文件存在,但 pid 未占用,则删除 pid 文件。
2、查看 MySQL 的源码可以知道,mysqld 启动后会通过 create_pid_file 函数新建 pid 文件,通过 getpid() 获取当前进程 pid 并将 pid 写入 pid 文件。
3、因此,通过 mysqld_safe 启动时, MySQL pid 文件的作用是:在数据文件是同一份,但端口不同的情况下,防止同一个数据库被启动多次。
PID=port ID,在STP(生成树协议)中,若在端口收到的BPDU中BID和path cost相同时,则比较PID来选择阻塞端口。数字电视复用系统名词 PID(Packet Identifier) 在数字电视复用系统中它的作用好比一份文件的文件名,我们可以称它为“标志码传输包” 。工程控制和数学物理方面 PID(比例积分微分)英文全称为Proportion Integration Differentiation,它是一个数学物理术语。PID由8位端口优先级加端口号组成,端口号占低位,默认端口号优先级128。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)