目录
mysql配置(选项)文件
介绍
大多数mysql程序都可以从配置文件中读取启动选项
- 大部分都是纯文本格式,可以使用任何文本编辑器创建和修改
配置文件
默认路径
配置文件的默认路径 -- /etc/mysql
- 我们每次修改系统配置文件时,都是以my.cnf文件名,实际上它就等同于本目录下的mysql.cnf文件
我们后续的配置都是在这个文件中,便于维护和管理
- 里面同时会配置服务端和客户端的选项 -- 通过[mysql] / [mysqld] 区分
其他路径下的文件
引入
可以看到,在另外两个路径下,还有同名的配置文件:
/etc/mysql/conf.d目录下
是客户端的配置文件
默认里面没有内容:
/etc/mysql/mysql.conf.d目录下
(服务器和客户端的配置文件它都有)
mysql.cnf是客户端配置文件
mysqld.cnf是服务端的配置文件
以下是默认配置:
目录区别
修改配置文件中的内容之前,最好是备份一下,免得改坏了没法复原
- 博主亲测,最后只能狼狈重下
选项文件的加载顺序
windows下
读取顺序是从上到下,优先级也是从上到下依次升高的
- 优先级 -- 如果多个文件中包含相同的选项,会选择优先级高的文件中的配置
默认配置文件路径
- 这个的优先级在中间位置
环境变量介绍
文件名中出现的大写字母都属于windows下的系统环境变量
- WINDIR -- windows目录的位置
- BASEDIR -- 安装路径
- APPDATA -- 用户应用程序数据存储目录
- DATADIR -- 数据目录,也就是服务端默认配置文件中的datadir :
linux下
- 读取顺序依然是从上到下,优先级从上到下依次升高
默认路径
其中,/etc/mysq/my.cnf是默认路径
命令行选项
启动mysqld可以使用下面两个选项,用于指定一个额外的配置文件 / 使用特定的配置文件
选项文件语法
使用长选项
选项有长选项和短选项之分,配置文件中必须要使用长选项
指定选项时,省略前导破折号
- 每一行一个选项
注释
注释可以用 # 或 ; 形式
[ ]
节点,设置选项程序/组的名称
[客户端程序名]
针对特定程序的配置,不区分大小写
- 如果使用[client],mysql发行版中所有客户端程序(也就是除mysqld以外的程序)都会读取并应用这个组下的选项
- 相当于客户端程序的通用选项
- 比如设置账号密码,编码集等:
如果对特定程序的选项设置 与 [client]中的重复,[client]中的选项会被覆盖
不同版本
还可以针对mysql的不同版本进行设置
- 这个不同版本针对的是服务器程序
- [mysqld-5.7]
指令
可以使用!include指令来包含其他选项文件
使用!includedir指令来搜索指定目录中的其他选项文件(以.cnf为后缀)
- 如果目录下有多个文件,扫描到谁就加载谁,并不保证读取顺序
选项文件修改后,一定要记得添加一个换行符
- 也就是以空行结尾