1. 程式人生 > >查看當前mysql使用的配置文件是哪個

查看當前mysql使用的配置文件是哪個

binlog include --help port use 沒有 etc sed true

my.cnf是mysql啟動時加載的配置文件,一般會放在mysql的安裝目錄中,用戶也可以放在其他目錄加載。
安裝mysql後,系統中會有多個my.cnf文件,有些是用於測試的。
使用locate my.cnf命令可以列出所有的my.cnf文件
註意:執行locate之前先執行updatedb,更新系統庫。默認系統時淩晨更新庫,如果你上午8點添加配置文件,執行locate可能就顯示出來

命令
locate my.cnf

輸出

/usr/local/Cellar/mysql/5.6.24/my.cnf
/usr/local/Cellar/mysql/5.6.24/mysql-test/include/default_my.cnf
/usr/local/Cellar/mysql/5.6.24/mysql-test/suite/federated/my.cnf
/usr/local/Cellar/mysql/5.6.24/mysql-test/suite/ndb/my.cnf
/usr/local/Cellar/mysql/5.6.24/mysql-test/suite/ndb_big/my.cnf
/usr/local/Cellar/mysql/5.6.24/mysql-test/suite/ndb_binlog/my.cnf
/usr/local/Cellar/mysql/5.6.24/mysql-test/suite/ndb_rpl/my.cnf
/usr/local/Cellar/mysql/5.6.24/mysql-test/suite/ndb_team/my.cnf
/usr/local/Cellar/mysql/5.6.24/mysql-test/suite/rpl/extension/bhs/my.cnf
/usr/local/Cellar/mysql/5.6.24/mysql-test/suite/rpl/my.cnf
/usr/local/Cellar/mysql/5.6.24/mysql-test/suite/rpl_ndb/my.cnf

  

當我們需要修改配置文件時,需要找到mysql啟動時是加載了哪個my.cnf文件。

1、查看是否使用了指定目錄的my.cnf
啟動mysql後,我們查看mysql的進程,看看是否有設置使用指定目錄的my.cnf文件,如果有則表示mysql啟動時是加載了這個配置文件。

命令
ps aux|grep mysql|grep ‘my.cnf‘

[root@linux-node1 ~]# ps aux |grep mysql
root       2684  0.0  0.0 106100   736 ?        S    Mar30   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql 
--socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql      2831  0.2  2.2 2232232 45212 ?       Sl   Mar30  33:28 /usr/libexec/mysqld --basedir=/usr 
--datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/linux-node1.example.com.err 
--pid-file=/var/run/mysqld/mysqd.pid --socket=/var/lib/mysql/mysql.sock --port=3306
root      95228  0.0  0.0 103256   944 pts/0    S+   13:00   0:00 grep --colour=auto mysql
[root@linux-node1 ~]# ps aux |grep mysql | grep ‘my.cnf‘
[root@linux-node1 ~]# 

  

如果上面的命令沒有輸出,表示沒有設置使用指定目錄的my.cnf。

2、查看mysql默認讀取my.cnf的目錄
如果沒有設置使用指定目錄的my.cnf,mysql啟動時會讀取安裝目錄根目錄及默認目錄下的my.cnf文件。
查看mysql啟動時讀取配置文件的默認目錄

命令
mysql --help|grep ‘my.cnf‘

[root@linux-node1 ~]# mysql --help | grep ‘my.cnf‘
                      order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf 
[root@linux-node1 ~]# 

這些就是mysql默認會搜尋my.cnf的目錄,順序排前的優先。

3、啟動時沒有使用配置文件
如果沒有設置使用指定目錄my.cnf文件及默認讀取目錄沒有my.cnf文件,表示mysql啟動時並沒有加載配置文件,而是使用默認配置。
需要修改配置,可以在mysql默認讀取的目錄中,創建一個my.cnf文件(例如:/etc/my.cnf),把需要修改的配置內容寫入,
重啟mysql後即可生效。

查看當前mysql使用的配置文件是哪個