56 lines
2.0 KiB
Markdown
56 lines
2.0 KiB
Markdown
## 配置文件路径
|
||
| **路径名** | **备注** |
|
||
| --- | --- |
|
||
| /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
|
||
```
|
||
那么,将以最后一个出现的组中的启动选项为准
|