-
与在命令行中指定启动逃项不同的是,配置文件中的启动选项被划分为若干个组,每个组有一个组名,用中括号。扩起来,像下面这样:
-
上面这个配置文件里就定义了许多个组,组名分别是server、mysqld、mysqld_safe、client、mysql、mysqladmin。每个组下边可以定义若干个启动选项.
-
在配置文件中指定启动选项的语法类似于命令行语法,但是在配置文件中只能使用长形式的选项,而且在配置文件中指定的启动选项不允许加–前缀,并且每行只指定一个选项,等号=周围可以有空白字符〈在命令行中,选项名、=、选项值之间不允许有空白字符).另外,在配置文件中,我们可以使用#来添加注释,从#出现直到行尾的内容都属于注释内容,MySQL程序会忽略这些注释内容.
-
在配置文件中,不同的选项组是给不同的程序使用的.如果选项组名称与程序名称相同,则组中的选项将专门应用于该程序.例如,[mysqld]和[mysql]组分别应用于mysqld服务器程序和mysql客户端程序.不过有两个选项组比较特别:
- [server]组下面的启动选项将作用于所有的服务器程序:
- [client]组下面的启动选项将作用于所有的客户端程序.
-
mysqld_safe和mysql.server这两个程序在启动时都会读取[mysqld]选项组中的内容.
-
我们可以在选项组的名称后加上特定的MySQL版本号.比如对于[mysqld]选项组来说,我们可以定义一个[mysqld-5.7]的~项组.它的含义和[mysqld]一样,只不过只有版本号为5.7的mysqld程序才能使用这个选项组中的选项.
-
MySQL将在某些固定的路径下搜索配置文件.我们也可以通过在命令行中指定defaults-extra-file启动选项来指定额外的配置文件路径。如果该文件不存在,则忽略。如果我们在多个配置文件中设置了相同的启动选项,则以最后一个配置文件中为准。
-
同一个程序可以访问配置文件中的多个组,如果在同一个配置文件中的多个组里出现同样的启动选项,那么将以最后一个出现的组中启动选项为准。
-
如果我们不想让MySQL到默认的路径下搜索配置文件,则可以在命令行指定defaults-fiIe选项,比如下面这样(以类UNIX系统为例):
mysqld --default-file=/tmp/myconfig.txt
- 在程序启动时将只在/tmp/myconfig.txt路径下搜索配置文件.如果文件不存在或无法访问,则会发生错误.