mysql配置文件的使用教程
配置文件格式
與在命令行中指定啟動選項不同的是,配置文件中的啟動選項被劃分為若干個組,每個組有一個組名,用中括號[]
擴起來,想這樣
[server] (具體的啟動選項...) [mysqld] (具體的啟動選項...) [mysqld_safe] (具體的啟動選項...) [client] (具體的啟動選項...) [mysql] (具體的啟動選項...) [mysqladmin] (具體的啟動選項...)
像這個配置文件就定義了許多個組,組名分別時server、mysqld、mysqld_safe、client、mysql、mysqladmin。魅族下邊可以定義若干個啟動選項,我們以[server]為例來看一下填寫啟動選項的形式(其他組中啟動選項的形式是一樣的):
[server] option1 #這是option1,該選項不需要選項值 option2=value2 #這是optioin2,該選項需要選項值
在配置文件中指定啟動選項的語法類似于命令行語法,但是配置文件中指定的啟動選項不允許加–前綴,并且每行指定一個選項,而且=周圍可以有空白字符(命令行中選項名、=、選項值之間不允許有空白字符)。另外,在配置文件中,我們可以使用#來添加注釋,從#出現(xiàn)直到行尾內(nèi)容都是屬于注釋內(nèi)容,讀取配置文件時會忽略這些注釋內(nèi)容
啟動命令與選項組
配置文件中不同的選項組是給不同的啟動命令使用的。不過有兩個選項比較特別:
[server]
組下邊的啟動選項將作用于所有的服務器程序[client]
組下邊的啟動選項將作用于所有的客戶端程序
下面時啟動命令能讀取的選項組都有哪些
比如,在/etc/mysql/my.cnf
這個配置文件中添加一些內(nèi)容:
[server] skip-networking default-storage-engin=MyISAM
然后直接用mysql啟動服務程序:
mysqld
雖然在命令行沒有添加啟動選項,但是在程序啟動的時候,就會默認到我們上面提到的默認文件路徑下查找配置文件,其中就包括/etc/my.cnf
。又由于mysqld可以讀取[server]
選項組的內(nèi)容,所以skip-networking
和default-storage-engine=MyISAM
這兩個選項時生效的。你可以把這些啟動選項放在[client]
組里再試試用mysqld
啟動服務器程序,就不生效
特定MySQL版本的專用選項組
我們可以在選項組的名稱后加上特定的MySQL版本號,比如對于[mysqld]
選項組來說,我們可以定義一個[mysqld-5.7]
的選項組,它的含義和[mysqld]
一樣,只不過只有版本號為5.7的mysqld
程序才能啟動這個選項組中的選項
同一個配置文件中多個組的優(yōu)先級
我們說同一個命令可以訪問配置文件中的多個組,比如mysqld
可以訪問[mysqld]
、[server]
組,如果在同一個配置文件中,比如~./my.cnf
,在這些組里出現(xiàn)了同樣的配置,比如這樣:
[server] default-storage-engine=InnoDB [mysqld] default-storage-engine=MyISAM
那么,將以最后一個出現(xiàn)的族中的啟動選項為準,比方說例子中default-storage-engine
基礎現(xiàn)在[server]
組也出現(xiàn)在[mysqld]
組,因為[mysqld]
組在[server]
組后邊,就以[mysqld]
組中的配置項為基準
命令行和配置文件中啟動選項的區(qū)別
在命令行上指定的絕大部分啟動選項都可以放到配置文件中,但是有一些選項是專門為命令行設計的,比方說defaults-extra-file
、defaults-file
這樣的選項本身就是為了指定配置文件路徑的,再放在配置文件中使用就沒有意義了
如果同一個啟動選項即出現(xiàn)在命令行中,又出現(xiàn)在配置文件中,那么以命令行中的啟動選項為準。比如我們在配置文件中寫了:
[server] default-storage-engine=InnoDB
而我們的命令行寫的是
mysql.server start --default-storage-engine=MyISAM
那最終default-storage-engine
的值就是MyISAM
到此這篇關于mysql配置文件的使用教程的文章就介紹到這了,更多相關mysql配置文件使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!