mysql pid文件记录的是当前mysqld进程的pid.
通过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文件。
因此,通过mysqld_safe启动时,PID文件的作用是为了防止同一个数据库被启动多次(数据文件是同一份,但端口不同的情况)。
时间: 2024-10-12 10:29:49