關于MySQL只能在根目錄下啟動的問題,其實是由于MySQL的配置文件默認設置為在根目錄下查找。
在MySQL的配置中,有這樣一條配置: !includedir /etc/mysql/conf.d/ 這個表示,在/etc/mysql/目錄下尋找conf.d目錄,并將其作為配置文件的目錄,去讀取其中的所有文件。 而如果沒有相應的配置文件,則MySQL會使用默認的配置,也就是在根目錄下查找。
因此,即便我們將MySQL安裝在其他目錄下,如果沒有針對該目錄進行特殊的配置,啟動MySQL時還是會在根目錄下尋找配置文件,導致啟動失敗。
如果想要在其他目錄下啟動MySQL,可以在啟動命令中加入-c參數(shù),指定MySQL的配置文件路徑。比如:
mysql.server start -c /my/mysql/config/path/my.cnf
這樣就可以對MySQL的配置文件進行定制,并在指定目錄下啟動MySQL了。