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 语句的严格程度

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

相关推荐
老纪的技术唠嗑局18 分钟前
OceanBase PoC 经验总结(二)—— AP 业务
数据库
两斤半21 分钟前
Debian TTY环境乱码
linux·debian
阿里云大数据AI技术1 小时前
OpenSearch 视频 RAG 实践
数据库·人工智能·llm
还是奇怪1 小时前
Linux - 安全排查 2
linux·运维·安全
m0_623955663 小时前
Oracle使用SQL一次性向表中插入多行数据
数据库·sql·oracle
tan77º3 小时前
【Linux网络编程】Socket - UDP
linux·服务器·网络·c++·udp
czhc11400756633 小时前
Linux 76 rsync
linux·运维·python
阿蒙Amon4 小时前
C#读写文件:多种方式详解
开发语言·数据库·c#
东窗西篱梦4 小时前
Redis集群部署指南:高可用与分布式实践
数据库·redis·分布式
蓝易云4 小时前
Qt框架中connect()方法的ConnectionType参数使用说明 点击改变文章字体大小
linux·前端·后端