## 配置文件路径 | **路径名** | **备注** | | --- | --- | | /etc/my.cnf | | | /etc/mysql/my.cnf | | | SYSCONFDIR/my.cnf | | | $MYSQL_HOME/my.cnf | 特定于服务器的选项(仅限服务器) | | defaults-extra-file | 命令行指定的额外配置文件路径 | | ~/.my.cnf | 用户特定选项 | | ~/.mylogin.cnf | 用户特定的登录路径选项(仅限客户端 | ## 配置文件的内容 与在命令行中指定启动选项不同的是,配置文件中的启动选项被划分为若干个组,每个组有一个组名,用中括号[]扩起来,像这样: ``` [server] (具体的启动选项...) [mysqld] (具体的启动选项...) [mysqld_safe] (具体的启动选项...) [client] (具体的启动选项...) [mysql] (具体的启动选项...) [mysqladmin] (具体的启动选项...) ``` 像这个配置文件里就定义了许多个组,组名分别是server、mysqld、mysqld_safe、client、mysql、mysqladmin。每个组下面可以定义若干个启动选项 配置文件中不同的选项组是给不同的启动命令使用的,如果选项组名称与程序名称相同,则组中的选项将专门应用于该程序。例如,[mysqld]和[mysql]组分别应用于mysqld服务器程序和mysql客户端程序。不过有两个选项组比较特别: - [server]组下面的启动选项将作用于所有的服务器程序。 - [client]组下面的启动选项将作用于所有的客户端程序。 | **启动命令** | **类别** | **能读取的组** | | --- | --- | --- | | mysqld | 启动服务器 | [mysqld]、[server] | | mysqld_safe | 启动服务器 | [mysqld]、[server]、[mysqld_safe] | | mysql.server | 启动服务器 | [mysqld]、[server]、[mysql.server] | | mysql | 启动客户端 | [mysql]、[client] | | mysqladmin | 启动客户端 | [mysqladmin]、[client] | | mysqldump | 启动客户端 | [mysqldump]、[client] | ## 同一个配置文件中多个组的优先级 ``` [server] default-storage-engine=InnoDB [mysqld] default-storage-engine=MyISAM ``` 那么,将以最后一个出现的组中的启动选项为准