页面树结构
转至元数据结尾
转至元数据起始

1、简介

​my.cnf​​(my.ini) 文件是 MySQL 数据库的重要配置文件之一,它包含了 MySQL 服务器的启动参数和运行时配置。正确地配置 ​​my.cnf​​ (my.ini)文件可以显著提升数据库的性能、稳定性和安全性。

注:Linux服务器使用的是my.cnf,windows服务器使用的是my.ini

2、配置文件位置

在不同的操作系统上,​​my.cnf​​ 文件的位置可能有所不同:

Linux: 通常位于 ​​/etc/my.cnf​​ 或 ​​/etc/mysql/my.cnf​​,可以通过如下命令查看配置文件的查找路径

#mysql --help|grep 'my.cnf'

Windows: 通常位于 MySQL 安装目录下的 ​​my.ini​​ 文件

查看当前生效的my.cnf配置文件位置的SQL语句

SELECT
info.VARIABLE_NAME,
info.VARIABLE_SOURCE,
info.VARIABLE_PATH,
gv.VARIABLE_VALUE,
info.MIN_VALUE,
info.MAX_VALUE,
info.SET_TIME,
info.SET_USER,
info.SET_HOST
FROM
( SELECT * FROM `performance_schema`.variables_info WHERE length( variable_path )!= 0 ) info
LEFT JOIN `performance_schema`.global_variables gv ON info.VARIABLE_NAME = gv.VARIABLE_NAME
ORDER BY
info.VARIABLE_SOURCE DESC

3、MySQL配置文件结构

my.cnf​​(my.ini)文件是一个文本文件,每个配置项都包含在一个特定的节(section)中,每个节由方括号 ​​[ ]​​ 包围,表示该节下的配置项适用于哪个组件或服务。常见的节包括:

[mysqld]​​: 针对 MySQL 服务器的配置

​​[client]​​: 针对所有客户端程序的配置

[mysql]​​: 针对 ​​mysql​​ 命令行工具的配置

3.1 [mysqld]配置

这是 MySQL 服务器的主要配置部分。

3.1.1 基本设置

配置名称配置说明
basedir=/smartbi/mysql_8MySQL的安装目录
datadir=/smartbi/mysql_8/dataMySQL的数据存储目录
socket=/smartbi/mysql_8/mysql.sock为MySQL客户程序与服务器之间的本地通信指定一个套接字文件
port=6688设置TCP/IP通信端口
character-set-server=utf8mb4设置默认的字符集
collation-server=utf8mb4_unicode_ci设置排序规则

3.1.2 性能优化

配置名称配置说明

innodb_buffer_pool_size = 1G

缓冲池的大小(以字节为单位),即InnoDB缓存表和索引数据的内存区域。默认值为(128MB)

interactive_timeout = 1800

交互超时时间,默认8小时
wait_timeout = 1800等待超时时间,默认8小时
skip_name_resolve = 1跳过反向解析过程
lower_case_table_names=1大小写是否敏感配置
max_connections = 1024最大连接数配置
max_connect_errors = 100000最大连接错误数

max_allowed_packet=512M

客户端和服务器之间可以传输的最大数据包大小

3.1.3 日志设置(非必需)

配置名称配置说明
slow_query_log=1慢查询日志开关(1 开启,0 关闭),排查性能问题时开启,生产环境需要关闭
slow_query_log_file=/smartbi/mysql_8/data/mysql-slow.log慢查询日志文件路径
​​long_query_time​​=10记录慢查询的时间阈值(秒),当前配置为10s

3.1.4 安全性设置(非必需)

配置名称配置说明
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTIONSQL 模式,定义 MySQL 应如何处理数据校验和错误处理
bind_address=10.4.7.79绑定允许访问的IP白名单

3.1.5 复制设置(非必需)

配置名称配置说明
server-id=设置了服务器 ID,用于主从复制
log_bin启用了二进制日志
binlog_format设置了二进制日志格式
expire_logs_days设置了二进制日志的过期天数
max_binlog_size设置了单个二进制日志文件的最大大小

3.2 [client]配置

这是客户端程序的配置部分。

配置名称配置说明
port=3306客户端连接的端口
socket=/smartbi/mysql_8/mysql.sock客户端连接的套接字文件路径
default-character-set​=utf8mb4客户端默认字符集

3.3 [mysql]配置

这是 MySQL 命令行工具的配置部分,可以配置部分较少。

  • 无标签