wiki/运维/数据库/MySQL/mysql笔记/配置文件详解.md
2025-01-02 10:46:09 +08:00

56 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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