/etc/my.cnf配置如下
pid-file=/mnt/sdb1/mysql/data/mysql/mysqld.pid
[root@mysqltestdb mysql]# ps -ef|grep mysql|grep -v grep
root      5910     1  0 15:31 pts/0    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/mnt/sdb1/mysql/data/mysql --socket=/mnt/sdb1/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql     6119  5910  0 15:31 pts/0    00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/mnt/sdb1/mysql/data/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/mnt/sdb1/mysql/data/mysql/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/mnt/sdb1/mysql/mysql.sock
[root@mysqltestdb mysql]# 
[root@mysqltestdb mysql]#service mysqld status
mysqld (pid  6119) 正在运行...
实际pid生成了两个
/var/run/mysqld/mysqld.pid
/mnt/sdb1/mysql/data/mysql/mysqld_safe.pid[root@mysqltestdb mysql]# cat /mnt/sdb1/mysql/data/mysql/mysqld_safe.pid
5910
[root@mysqltestdb mysql]# cat /var/run/mysqld/mysqld.pid
6119
问题是明明配置的pid-file=/mnt/sdb1/mysql/data/mysql/mysqld.pid,为何生成路径变成了/var/run/mysqld/mysqld.pid