MySQL-配置文件

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-filedefault-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

6、服务器运行过程中设置系统变量

参考:MySQL-系统及自定义变量

相关推荐
一个天蝎座 白勺 程序猿14 分钟前
Apache IoTDB(5):深度解析时序数据库 IoTDB 在 AINode 模式单机和集群的部署与实践
数据库·apache·时序数据库·iotdb·ainode
QQ35967734538 分钟前
ArcGIS Pro实现基于 Excel 表格批量创建标准地理数据库(GDB)——高效数据库建库解决方案
数据库·arcgis·excel
学编程的小程1 小时前
突破局域网限制:MongoDB远程管理新体验
数据库·mongodb
波波烤鸭1 小时前
Redis 高可用实战源码解析(Sentinel + Cluster 整合应用)
数据库·redis·sentinel
l1t5 小时前
利用DeepSeek实现服务器客户端模式的DuckDB原型
服务器·c语言·数据库·人工智能·postgresql·协议·duckdb
MarkHard1239 小时前
如何利用redis使用一个滑动窗口限流
数据库·redis·缓存
island131411 小时前
【Redis#10】渐进式遍历 | 数据库管理 | redis_cli | RES
数据库·redis·bootstrap
心想事成的幸运大王11 小时前
Redis的过期策略
数据库·redis·缓存
倔强的石头_11 小时前
CentOS 上安装KingbaseES(ISO包)详细教程
数据库
2401_8979300612 小时前
使用Docker轻松部署Neo4j图数据库
数据库·docker·neo4j