1、配置文件格式
- 配置文件中启动选项被分为若干组,每组都有一个'组名',用[ ] 包裹
- 每组下都可定义若干个启动选项
- 配置文件中指定的启动选项不允许添加
--
前缀 - 配置文件中每行只能指定一个具体启动选项
- 相关分组示例如下:
powershell
[server]
(具体启动选项)
[mysqld]
(具体启动选项)
[mysqld_safe]
(具体启动选项)
[client]
(具体启动选项)
[mysql]
(具体启动选项)
[mysqladmin]
(具体启动选项)
···
2、启动命令与选项组
- 配置文件中不同选项组是给不同的启动命令使用的
- 以表格形式展示 启动命令能 读取那些选项组
启动命令 | 类别 | 读取选项组 |
---|---|---|
mysqld | 启动服务器 | [mysqld] [server] |
mysqld_safe | 启动服务器 | [mysqld] [server] [mysqld_safe] |
mysql.server | 启动服务器 | [mysqld] [server] [mysql.server] |
mysql | 启动客户端 | [mysql] [client] |
mysqladmin | 启动客户端 | [mysqladmin] [client] |
mysqldump | 启动客户端 | [mysqldump] [client] |
3、同一配置文件选项组优先级
例如 my.cnf 配置如下
powershell
[server]
default-storage-engine=InnoDB
[mysqld]
default-storage-engine=MyISAM
- 同一配置文件中,不同的选项组配置相同的配置项,以最后一个出现的选项组中的配置项为准
- 如上述中,MySQL服务器启动后默认存储引擎为:MyISAM。
4、命令行和配置文件中启动选项的区别
- 命令行上指定的大多数启动选项都可放在配置文件中,但
default-extra-file
、default-file
是用来指定配置文件路径的,放在配置中毫无意义。 - 如果启动选项 既 出现在命令行中 又 出现在配置文件中,则以
命令行中启动选项为准
。
例如,配置文件配置项为:
powershell
[server]
default-storage-engine=InnoDB
命令行启动命令为:
powershell
mysql.server start --default-storage-engine=MyISAM
服务启动后,default-storage-engine 有效值为 MyISAM。
5、通过启动选项设置系统变量
- 通过命令行添加启动选项
powershell
mysqld --default-storage-engine=MyISAM
- 通过配置文件添加启动选项
powershell
[mysqld]
default-storage-engine=InnoDB