my.cnf配置文件中mysqlpid参数说明

my.cnf配置文件中MySQL pid参数说明

创新互联建站专注于企业网络营销推广、网站重做改版、安陆网站定制设计、自适应品牌网站建设、HTML5建站成都商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为安陆等各大城市提供网站开发制作服务。

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

mysql>show variables like 'pid_file'\G;

*************************** 1. row ***************************

Variable_name: pid_file

       Value: /usr/local/mysql/data/xen-server.pid

1 row in set (0.00 sec)


下面了解:

绝大多数的mysql在启动的时候都要加载一个配置文件,相信大多数的开发都碰到过类似问题,机器启动时mysql默认都会启动,默认使用mysql命令可以连上服务端,但是数据存储在什么地方,参数设置的是多少等等,这个就需要知道mysql使用的是哪个配置文件,那么mysql启动是按照什么顺序来加载配置文件的呢?

 

不同版本的机器加载的顺序也不一样,下面的列子是以5.1.10为例。

 

Linux机器下常用的配置文件路径

 

文件名作用
/etc/my.cnfGlobal options
/etc/mysql/my.cnfGlobal options (as of MySQL 5.1.15)
SYSCONFDIR/my.cnfGlobal options
$MYSQL_HOME/my.cnfServer-specific options
defaults-extra-fileThe file specified with--defaults-extra-file=path  
~/my.cnfUser-specific options

 

在没有添加任何启动命令的时候,mysql会默认的依次从上到下检查配置文件是否存在,使用第一个发现的文件作为启动文件。

 

因此在启动mysqld的时候,一定要确定好上述的路径下是否有对应的配置文件,避免加载了错误的文件,导致一些奇怪的问题。

 

当然,如果不想使用默认加载顺序中的配置文件,可以在启动命令上增加 --defaults-file='path/to/my.cnf'来指定要使用的配置文件

 

查看当前mysqld启动时的加载文件

通常可以用下面的命令找到答案


server ~ # ps ax | grep '[m]ysqld'
10801 ?        Ssl    0:27 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock

 

更高级一些,根据进程的文件信息来查看

1
2
3
server ~ # cat /proc/$(pidof mysqld)/cmdline | tr '\0' '\n'
/usr/sbin/mysqld
--defaults-file=/etc/mysql/my.cnf

 

使用mysqld自带的 --verbose功能

1
2
3
server ~ # /usr/sbin/mysqld --help --verbose --skip-networking --pid-file=$(tempfile) 2> /dev/null | grep -A1 'Default options are read'
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf

分享名称:my.cnf配置文件中mysqlpid参数说明
浏览路径:http://pwwzsj.com/article/pehedp.html