mysql配置文件的使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: mysql配置文件的使用

六,配置文件的使用

6.1 配置文件格式

与在命令行中指定启动选项不同的是,配置文件中的启动选项被划分为各个组,每个组一个组名,用中括号[]括起来

像这个配置文件里就定义了许多个组,组名分别是server、 mysqld、mysqld_safe、 client、 mysql、mysqladmin。每个组下边可以定义若干个启动选项,我们以[server]组为例来看一下填写启动选项的形式(其他组中启动选项的形式是一样的):

在配置文件中指定启动选项的语法类似于命令行语法,但是配置文件中指定的启动选项不允许加–前缀,并且每行只指定一个选项,而且=周围可以有空白字符(命令行中选项名、=、选项值之间不允许有空白字符)。另外,在配置文件中,我们可以使用#来添加注释,从#出现直到行尾的内容都属于注释内容,读取配置文件时会忽略这些注释内容。

6.2 启动命令和选项组

配置文件中不同的选项组是给不同的启动命令使用的。不过有两个选项组比较特别:

  • [ server]组下边的启动选项将作用于所有的服务器程序。
  • [client]组下边的启动选项将作用于所有的客户端程序。

下面是启动命令能读取到的选项组有哪些

比如在/etc/mysql/my.cnf 这个配置文件中添加一些内容:

[ server]
skip-networking
default-storage-engine=MyISAM

然后直接使用mysqld启动服务器实例

虽然在命令行没有添加启动选项,但是在程序启动的时候,就会默认的到我们上边提到的配置文件路径下查找配置文件,其中就包括/etc/my.cnf。又由于mysqld命令可以读取〔server]选项组的内容,所以skip-networking和default-storage-engine=MyISAM这两个选项是生效的。你可以把这些启动选项放在[ client]组里再试试用mysqld启动服务器程序,就不生效。

6.3 特定mysql版本的特定选项

我们可以在选项组的名称后加上特定的MySQL版本号,比如对于[mysqld]选项组来说,我们可以定义一个[mysqld-5.7]的选项组,它的含义和[mysqld] 一样,只不过只有版本号为5.7的mysqld程序才能使用这个选项组中的选项。

6.4 同一个配置文件中组的优先级

我们说同一个命令可以访问配置文件中的多个组,比如mysqld可以访问[mysqld]、[server]组,如果在同一个配置文件中,比如~/.my.cnf,在这些组里出现了同样的配置项,比如这样:

那么,将以最后一个出现的组中的启动选项为准,比方说例子中default-storage-engine既出现在[mysqldJ组也出现在[server]组,因为[mysqld]组在[server]组后边,就以[mysqld]组中的配置项为准。

6.5命令行和配置文件中启动选项的区别

在命令行上指定的绝大部分启动选项都可以放到配置文件中,但是有一些选项是专门为命令行设计的,比方说defaults-extra-file、 defaults-file这样的选项本身就是为了指定配置文件路径的,再放在配置文件中使用就没啥意义了。

如果同一个启动选项既出现在命令行中,又出现在配置文件中,那么以命令行中的启动选项为准!比如我们在配置文件中写了:

而我们的启动命令是

mysql.server start --default-storage-engine=MyISAM

那最后default-storage-engine的值就是MyISAM。

storage-engine=MyISAM

那最后default-storage-engine的值就是MyISAM。


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9月前
|
存储 缓存 关系型数据库
2.3 【MySQL】命令行和配置文件中启动选项的区别
2.3 【MySQL】命令行和配置文件中启动选项的区别
42 0
|
9月前
|
关系型数据库 MySQL 数据安全/隐私保护
在 Docker 中部署 Mysql 并挂载配置文件
在 Docker 中部署 Mysql 并挂载配置文件
|
2天前
|
存储 关系型数据库 MySQL
|
23天前
|
SQL 关系型数据库 数据库
nacos 2.2.3版本 查看配置文件的历史版本的接口 是针对MySQL数据库的sql 改成postgresql后 sql语句报错 该怎么解决
在Nacos 2.2.3中切换到PostgreSQL后,执行配置文件历史版本分页查询出错,因`LIMIT 0, 10`语法不被PostgreSQL支持,需改为`LIMIT 10 OFFSET 0`。仅当存在历史版本时报错。解决方案是调整查询SQL以兼容PostgreSQL语法。
|
6月前
|
关系型数据库 MySQL 容器
docker-compose安装mysql并指定忽略表名大小写以及挂载配置文件
docker-compose安装mysql并指定忽略表名大小写以及挂载配置文件
204 0
docker-compose安装mysql并指定忽略表名大小写以及挂载配置文件
|
1月前
|
Java 数据库连接 mybatis
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
|
1月前
|
缓存 关系型数据库 MySQL
mysql5.7 mysql配置文件my.cnf 中 query_cache_min_res_unit 的优化
mysql5.7 mysql配置文件my.cnf 中 query_cache_min_res_unit 的优化
11 0
|
10月前
|
关系型数据库 MySQL Java
ssm连接mysql引入外部配置文件username无法被正确解析
ssm连接mysql引入外部配置文件username无法被正确解析
60 0
|
11月前
|
SQL 关系型数据库 MySQL
SpringBoot自定义配置注入的方式:自定义配置文件注入,从mysql读取配置进行注入
SpringBoot自定义配置注入的方式:自定义配置文件注入,从mysql读取配置进行注入
190 0
|
7月前
|
SQL 存储 关系型数据库
MySQL配置文件my.cnf 优化
MySQL配置文件my.cnf 优化
119 0