# ========== [client] 客户端配置段 ==========
port=3306
# mysql客户端默认连接服务端的端口
# pipe=
# Windows命名管道连接开关,注释表示不启用
# socket=MYSQL
# Windows下socket命名管道名称,注释表示不启用
# ========== [mysql] 命令行客户端配置段 ==========
no-beep
# mysql命令行客户端执行错误时关闭蜂鸣报警音
# default-character-set=
# 客户端连接默认字符集,注释状态未设置
# ========== [mysqld] 服务端配置段 ==========
# skip-networking
# 关闭TCP网络访问,仅允许本地socket连接,注释代表开启网络访问
# enable-named-pipe
# 开启Windows命名管道本地连接,注释表示关闭
# shared-memory
# 开启共享内存方式本地通信,注释表示关闭
# shared-memory-base-name=MYSQL
# 共享内存基础名称,注释未启用该功能
# socket=MYSQL
# 服务端socket管道名称,Windows一般不使用
port=3306
# MySQL服务监听TCP端口,客户端通过该端口连接数据库
# basedir="C:/Program Files/MySQL/MySQL Server 8.3"
# MySQL程序安装根目录,注释未配置,自动识别
datadir=D:/mysql/Data
# MySQL数据存储目录,存放所有数据库、表、日志文件
authentication_policy=*,,
# MySQL8多因素认证策略,控制数据库账号登录的认证方式
default-storage-engine=INNODB
# 创建表未指定存储引擎时,默认使用InnoDB引擎
sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
# SQL语法与数据校验模式,控制MySQL语法兼容、非法数据拦截规则
log-output=FILE
# 日志输出方式,FILE输出到磁盘文件,TABLE保存到mysql系统表
general-log=0
# 通用查询日志开关,0关闭,1开启;会记录全部SQL语句,开启对性能损耗大
general_log_file="HCSS-ECS-D1E5.log"
# 通用查询日志文件名
slow-query-log=1
# 慢查询日志开关,1开启,用于捕获执行耗时久的SQL做优化
slow_query_log_file="HCSS-ECS-D1E5-slow.log"
# 慢查询日志文件名
long_query_time=10
# 慢查询判定阈值,单位秒;SQL执行时间大于等于该值就记录进慢日志
log-error="HCSS-ECS-D1E5.err"
# 错误日志文件名,记录服务启动、崩溃、运行时错误信息
log-bin="HCSS-ECS-D1E5-bin"
# 开启binlog二进制日志,文件名前缀;用于数据恢复、主从复制
server-id=1
# 数据库实例唯一ID,开启binlog/主从复制时必须配置,集群每个实例ID不能重复
lower_case_table_names=1
# 库名表名大小写规则;1表示磁盘上表名存小写,查询自动转小写,Windows推荐该值
secure-file-priv="D:/mysql/Uploads"
# 限制LOAD DATA、SELECT ... INTO OUTFILE等导入导出操作仅允许访问此目录
max_connections=151
# 数据库最大允许同时连接的客户端数量,会预留1个连接给超级管理员账号
table_open_cache=4000
# 缓存已经打开的表对象,减少重复打开表文件带来的开销
temptable_max_ram=1G
# TempTable临时表引擎最大可使用内存,超出后临时表会写入磁盘
tmp_table_size=48M
# 内存临时表单表最大容量,超过该大小临时表转为磁盘临时表,性能下降
internal_tmp_mem_storage_engine=TempTable
# 内部内存临时表使用的存储引擎,MySQL8默认TempTable替代旧MEMORY引擎
myisam_max_sort_file_size=2146435072
# MyISAM重建索引时允许使用的最大临时文件大小
myisam_sort_buffer_size=86M
# MyISAM执行REPAIR TABLE、ALTER TABLE重建索引使用的排序缓冲区
key_buffer_size=8M
# MyISAM引擎索引缓存,仅对MyISAM表生效,不使用MyISAM保持较小值
read_buffer_size=128K
# MyISAM全表顺序扫描,每个连接分配的读取缓冲区
read_rnd_buffer_size=256K
# 随机读取缓冲区,用于order by排序读取数据,每个连接独立分配
innodb_flush_log_at_trx_commit=1
# InnoDB事务redo日志刷盘策略;1每次提交刷盘保证ACID安全,0/2牺牲数据安全性换取性能
innodb_log_buffer_size=16M
# InnoDB redo日志内存缓冲区,大事务先写内存,减少磁盘频繁刷写
innodb_buffer_pool_size=128M
# InnoDB最重要参数,缓存表数据、索引的内存池,减少磁盘IO;生产建议物理内存50%‑70%,当前128M偏小
innodb_redo_log_capacity=100M
# MySQL8.0.30+,限制redo日志文件总磁盘占用大小,替代旧版两个redo相关参数
innodb_thread_concurrency=8
# InnoDB内部并发执行线程上限,0代表无限制,用来控制高并发内部压力
innodb_autoextend_increment=64
# InnoDB系统表空间ibdata1自动扩容的步长,单位MB
innodb_buffer_pool_instances=8
# 缓冲池拆分成多个实例,降低锁竞争;大于1G缓冲池才建议大于1,128M场景建议改为1
innodb_concurrency_tickets=5000
# InnoDB并发调度票据,拿到票据线程可直接执行,减少排队开销
innodb_old_blocks_time=1000
# 缓冲池冷热页保护,单位毫秒;避免全表扫描把热点缓存数据冲掉
innodb_stats_on_metadata=0
# show tables等元信息查询时不重新统计索引,防止元查询造成数据库卡顿
innodb_file_per_table=1
# 独立表空间开启,每张InnoDB表生成单独.ibd文件,删除表可释放磁盘空间,推荐开启
innodb_checksum_algorithm=0
# InnoDB数据页校验和算法,0使用crc32,检测磁盘上数据页损坏
flush_time=0
# 定时强制关闭所有表,0代表关闭,仅极低配置老旧机器使用
join_buffer_size=256K
# 无索引关联查询的连接缓冲区,每个连接单独分配,不要设置过大
max_allowed_packet=64M
# 数据库允许接收的单数据包最大大小,大blob、大批量插入需要调大
max_connect_errors=100
# 同一IP连续连接失败达到该数值,服务器临时阻止该IP继续连接
open_files_limit=8161
# mysqld进程最大可打开文件句柄数量,表多出现Too many open files错误需要调大
sort_buffer_size=256K
# order by/group by排序缓冲区,每个连接独立分配,不宜配置过大
binlog_row_event_max_size=8K
# row模式binlog单个事件最大字节大小
sync_source_info=10000
# 从库每多少次同步后将master.info信息刷入磁盘
sync_relay_log=10000
# 从库relay‑log中继日志刷盘的次数阈值
# plugin_load
# MySQL启动时要加载的插件列表,注释状态不加载额外插件
loose_mysqlx_port=33060
# MySQL X‑Protocol协议监听端口,供mysqlx驱动连接使用
发表时间:
编辑:顾永胜来源:0513.city标签:数据库