天天看點

怎樣檢視mysql 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為例。

檔案名

作用

<code>/etc/my.cnf</code>

global options

<code>/etc/mysql/my.cnf</code>

global options (as of mysql 5.1.15)

<code><code>sysconfdir</code>/my.cnf</code>

<code>$mysql_home/my.cnf</code>

server-specific options

<code>defaults-extra-file</code>

the file specified with<code>--defaults-extra-file=<code>path  </code></code>

<code>~/my.cnf</code>

user-specific options

在沒有添加任何啟動指令的時候,mysql會預設的依次從上到下檢查配置檔案是否存在,使用第一個發現的檔案作為啟動檔案。

是以在啟動mysqld的時候,一定要确定好上述的路徑下是否有對應的配置檔案,避免加載了錯誤的檔案,導緻一些奇怪的問題。

當然,如果不想使用預設加載順序中的配置檔案,可以在啟動指令上增加 --defaults-file='path/to/my.cnf'來指定要使用的配置檔案

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

1

2

<code>server ~ # ps ax | grep</code><code>'[m]ysqld'</code>

<code>10801</code> <code>?        ssl   </code><code>0</code><code>:</code><code>27</code> <code>/usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/</code><code>var</code><code>/lib/mysql --pid-file=/</code><code>var</code><code>/run/mysqld/mysqld.pid --socket=/</code><code>var</code><code>/run/mysqld/mysqld.sock</code>

更進階一些,根據程序的檔案資訊來檢視

3

<code>server ~ # cat /proc/$(pidof mysqld)/cmdline | tr</code><code>'\0'</code> <code>'\n'</code>

<code>/usr/sbin/mysqld</code>

<code>--defaults-file=/etc/mysql/my.cnf</code>

使用mysqld自帶的 --verbose功能

<code>server ~ # /usr/sbin/mysqld --help --verbose --skip-networking --pid-file=$(tempfile)</code>

<code>2</code><code>&gt; /dev/</code><code>null</code> <code>| grep -a1</code><code>'default options are read'</code>

<code>default options are read from the following files</code><code>in</code> <code>the given order:</code>

<code>/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf</code>