Mysql my.cnf配置文件参数详解

Linux 操作系统中 MySQL 的配置文件是 my.cnf,一般会放在 /etc/my.cnf 或 /etc/mysql/my.cnf 目录下。

如果你使用 rpm 包安装 MySQL 找不到 my.cnf 文件,可参考如下:

第一步:

通过cd命令 cd /usr/share/mysql 来到这个目录,

通过命令 ls 后发现该目录有个 my-medium.cnf,其实该文件就是my.cnf,这是通过 rpm 命令安装的mysql的特殊性

接下来通过 cp my-medium.cnf /etc/my.cnf 将该文件复制到 /etc/my.cnf ,即mysql的默认安装位置

复制代码
[client]
port=3306
socket=/var/run/mysql/mysql.sock
[mysqldump]
quick
max_allowed_packet = 16M

以上参数会被 MySQL 客户端应用读取,参数说明如下:

  • port:MySQL 客户端连接服务器端时使用的端口号,默认为 3306
  • socket:套接字文件所在目录
  • quick:支持较大的数据库转储,导出非常巨大的表时需要此项 。
  • max_allowed_packet:服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要),每个连接独立的大小,大小动态增加。

注意:只有 MySQL 附带的客户端应用程序保证可以读取这段内容。如果想要自己的 MySQL 应用程序获取这些值,需要在 MySQL 客户端库初始化的时候指定这些选项。

复制代码
[mysqld]

user = mysql
basedir = /usr/local/mysql
datadir = /mydata/mysql/data
port=3306
server-id = 1
socket=/var/run/mysql/mysql.sock

上述参数说明如下:

  • user:mysqld 程序在启动后将在给定 UNIX/Linux 账户下执行。mysqld 必须从 root 账户启动才能在启动后切换到另一个账户下执行。mysqld_safe 脚本将默认使用 user=mysql 选项来启动 mysqld 程序。
  • basedir:指定 MySQL 安装的绝对路径;
  • datadir:指定 MySQL 数据存放的绝对路径;
  • port:服务端口号,默认为 3306
  • server-id:MySQL 服务的唯一编号,每个 MySQL 服务的 id 需唯一。
  • socket:socket 文件所在目录
复制代码
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
lower_case_table_names = 1

key_buffer_size=16M
max_allowed_packet=8M
no-auto-rehash
sql_mode=TRADITIONAL
  • character-set-server:数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用 4 个字节)
  • collation-server:数据库字符集对应一些排序等规则,注意要和 character-set-server 对应
  • init_connect:设置 client 连接 mysql 时的字符集,防止乱码
  • lower_case_table_names:是否对 sql 语句大小写敏感,1 表示不敏感
  • key_buffer_size:用于指定索引缓冲区的大小
  • max_allowed_packet:设置一次消息传输的最大值
  • no-auto-rehash:仅仅允许使用键值的 UPDATES 和 DELETES
  • sql_mode:表示 SQL 模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度

上述内容可能与你的配置文件不同,当有什么需求时,复制使用相应的参数即可。

相关推荐
ejinxian6 小时前
PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等数据库
数据库·mysql·mongodb
折哥的程序人生 · 物流技术专研12 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
AOwhisky12 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
李白的天不白12 小时前
数据库连接报错问题
数据库
一条泥憨鱼12 小时前
【Redis】数据类型和常用命令
java·数据库·redis·后端·缓存
c2385613 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
爱喝水的鱼丶13 小时前
SAP-ABAP:SAP视图开发入门:四类标准视图的适用场景与创建步骤详解
服务器·数据库·性能优化·sap·abap
大白要努力!14 小时前
MySQL 8.0 + Navicat 完整操作指南
数据库·mysql
云絮.15 小时前
数据库操作
数据库·mysql·算法·oracle
小小工匠15 小时前
Redis 缓存替换策略:8 种淘汰策略与 LRU 实现剖析
数据库·redis·缓存