MySQL配置文件筆記

MySQL配置文件筆記

 

在啟動MySQL服務器或者使用MySQL客戶端程序時,有以下幾種方式為程序提供選項:

·         在命令行中在程序名後面提供。  www.aiwalls.com  

·         在程序啟動時讀取的配置文件中設置。

·         在環境變量中設置。

MySQL程序首先檢查環境變量,然後檢查配置文件,然後檢查命令行來確定給出瞭哪些選項。如果多次指定一個選項,最後出現的選項占先。這說明環境變量具有最低的優先級,命令行選項具有最高優先級。在以上方式中,尤以配置文件的使用最為復雜。

配置文件的使用方式

在Linux中,MySQL程序從下面的文件讀取啟動選項:

文件名

目的

/etc/my.cnf

全局選項

$MYSQL_HOME/my.cnf

服務器相關選項

defaults-extra-file

用–defaults-extra-file=path指定的文件,如果有

~/.my.cnf  www.aiwalls.com  
 

用戶相關選項

註:MYSQL_HOME是一個環境變量,包含服務器相關的my.cnf文件駐留的目錄路徑。如果未設置MYSQL_HOME,並且DATADIR中有一個my.cnf文件,BASEDIR中沒有my.cnf文件,mysqld_safe將MYSQL_HOME設置為DATADIR。如果未設置MYSQL_HOME並且在DATADIR中沒有my.cnf,則mysqld_safe將MYSQL_HOME設置為BASEDIR。

         MySQL按照上述順序尋找配置文件,並讀存在的配置文件。如果存在多個配置文件,文件中指定的後讀取的選項要優先文件中指定的先讀取的選項。

配置文件指定選項的語法

         選項語法類似於命令行語法,例外的是要忽略掉兩個破折號。

例如,命令行中的–quick或–host=localhost在選項文件中應指定為quick或host=localhost。

[group]:group是你想要設置選項的程序名或組名。在組行後面,任何opt_name或set-variable行適用於組名,直到選項文件結尾或給出其它組行。
 

opt_name:等價於命令行中的–opt_name。

opt_name=value:等價於命令行中的–opt_name=value。在選項文件中,‘=’字符附近可以有空格,而在命令行中是不允許的。你可以用單引號或雙引號來引用值。

         如果選項組名與程序名相同,則組內的選項專用於該程序。所有客戶程序(但不能被mysqld)讀取[client]選項組。這樣允許你指定適用於所有客戶端的選項。

         可以在選項文件中使用!include指令來包括具體文件和!includedir來搜索選項文件的具體目錄。例如,要包括文件/home/mydir/myopt.cnf,可以使用:

!include /home/me/myopt.cnf

要搜索所有以.cnf結尾的文件的目錄/home/mydir並作為選項文件讀取,應使用:

!includedir /home/mydir  www.aiwalls.com  
 

例如,假定你想要使用my.cnf中的某些內容,如下所示:

[mysqld]

!include /home/mydir/myopt.cnf

在這種情況下,隻為該服務器處理文件myopt.cnf,並且!include指令將被客戶應用程序忽略。然而,如果你使用下面的部分:

[mysqldump]

!includedir /home/mydir/my-dump-option

則隻有mysqldump為以.cnf結尾的文件檢查目錄/home/mydir/my-dump-option,服務器或其它客戶應用程序均不檢查。

註釋:目前,在Linux操作系統中,所發現的使用!includedir指令包括的文件的文件名必須以.cnf為擴展名。在Windows中,該指令也為有.ini擴展名(包括.cnf)的文件做檢查。

 

 

作者 xinhanggebuguake

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *