当前位置: 首页 > news >正文

MySQL 8.x 的 my.ini配置设置

🧩 一、[client] 部分 — 客户端配置

参数含义可选值 / 示例调优建议
port=3306默认连接端口1–65535(默认 3306)通常保持 3306,若多实例运行,可使用 3307、3308 等。
socket本地通信管道(Linux 使用)/tmp/mysql.sockWindows 不生效;Linux 环境需与 mysqld 一致。

🧩 二、[mysql] 部分 — 命令行客户端行为

参数含义示例 / 可选值建议
no-beep禁止命令行错误提示音建议保留。
default-character-set默认字符集utf8mb4 / utf8推荐设为 utf8mb4 支持 emoji。

🧩 三、[mysqld] 部分 — 服务端配置核心区域


📦 基础路径和端口

参数含义示例 / 可选值建议
port=3306MySQL 监听端口3306–65535默认即可。
basedirMySQL 安装目录C:/Program Files/MySQL/MySQL Server 8.4安装路径。
datadir数据文件目录C:/ProgramData/MySQL/MySQL Server 8.4/Data可放到独立磁盘提高性能。

🧾 SQL 模式(sql-mode)

sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
模式作用
ONLY_FULL_GROUP_BYGROUP BY 需完全匹配 SELECT 字段。
STRICT_TRANS_TABLES非法数据时报错而非警告。
NO_ZERO_IN_DATE / NO_ZERO_DATE禁止 0000-00-00 日期。
ERROR_FOR_DIVISION_BY_ZERO除数为 0 报错。
NO_ENGINE_SUBSTITUTION禁止自动替换不存在的引擎。

💡 建议:生产环境保持严格模式(如上),开发环境可临时关闭部分。


🧰 日志配置

参数含义建议值
log-output=FILE输出到文件保持默认
general-log=0是否记录全部 SQL一般关闭
general_log_file通用日志文件路径
slow-query-log=1启用慢查询日志推荐启用
slow_query_log_file慢查询日志文件路径
long_query_time=10超过 10 秒为慢 SQL可调小到 2–5 秒
log-error错误日志文件路径默认即可

🔁 复制与二进制日志

参数含义说明
log-bin开启二进制日志复制或备份必需
server-id=1唯一服务器 ID集群内唯一
binlog_row_event_max_size每个行事件最大字节数默认 8K

💡 建议:若不做主从复制,可关闭 log-bin 降低磁盘 IO。


🔤 大小写规则

参数含义可选值建议
lower_case_table_names表名大小写敏感0=区分大小写
1=不区分
2=存储保留,查找转小写
Windows 推荐 1(不区分)

🔒 文件导入导出限制

参数含义说明
secure-file-priv限制 LOAD DATA / SELECT ... INTO OUTFILE 路径建议保留默认或设为专用目录

👥 连接与线程控制

参数含义默认建议值
max_connections最大连接数151一般设为 200–500
table_open_cache打开表缓存40001–2 万更好
open_files_limit文件句柄上限8161可设为 65535
max_connect_errors同一主机错误连接次数100可设为 1000

💾 临时表与排序

参数含义建议值
tmp_table_size内存临时表大小64–256M
temptable_max_ramTempTable 引擎最大内存512M–1G
sort_buffer_size排序缓存1–4M
join_buffer_sizeJOIN 缓冲区256K–1M
read_buffer_size顺序读缓存1–8M
read_rnd_buffer_size随机读缓存4–16M

💽 MyISAM 引擎(旧)

参数含义建议
key_buffer_size=8M索引缓存区若主要用 InnoDB,可保持小值
myisam_sort_buffer_size=204MMyISAM 建索引排序缓存可调小到 64M

🧠 InnoDB 引擎(核心)

参数含义推荐设置
innodb_flush_log_at_trx_commit日志刷新策略1=安全(默认),2=性能优先
innodb_log_buffer_size日志缓存64–512M
innodb_buffer_pool_size数据缓存池大小一般为物理内存的 50–70%
innodb_redo_log_capacityredo 日志容量512M–2G
innodb_thread_concurrency最大并发线程数通常 0=自动
innodb_autoextend_increment表空间自动扩展步长64M
innodb_buffer_pool_instances缓冲池实例数每 GB 一个实例(8–16)
innodb_file_per_table每表单独 .ibd 文件推荐启用
innodb_checksum_algorithm校验算法crc32 推荐
innodb_stats_on_metadata查询元数据是否更新统计设为 0 提高性能
innodb_flush_method刷新方式可设为 O_DIRECT 提升性能(Linux)

⚙️ 网络与包大小

参数含义默认建议
max_allowed_packet单包最大值64M可调大到 256M 以防导入报错
loose_mysqlx_portX 协议端口(MySQL 8)33060可忽略

💡 推荐配置参考(中型服务器 16GB 内存)

分类推荐值
innodb_buffer_pool_size8G
max_connections300
tmp_table_size256M
max_allowed_packet128M
innodb_flush_log_at_trx_commit2(性能优先)
slow_query_log1
long_query_time3
innodb_file_per_table1

📚 小结

分类关键参数主要影响
性能调优buffer_pool, tmp_table_size, sort_buffer影响查询速度
安全性flush_log_at_trx_commit, secure-file-priv控制事务一致性
连接并发max_connections, open_files_limit决定系统并发能力
日志监控slow_query_log, general_log帮助定位慢 SQL
存储行为innodb_file_per_table, lower_case_table_names影响文件结构与兼容性

http://www.dtcms.com/a/585725.html

相关文章:

  • 周志华《机器学习导论》第 15 章 规则学习(符号主义学习)
  • 使用pycharm自带debug模式运行flask时报错
  • 福州做网站需要多少钱懒设计app
  • Dify 安全架构设计
  • 网站推广国外网站建设素材库
  • Rust 练习册 :Pythagorean Triplet与数学算法
  • 构建一个短链接生成器服务(FastAPI + SQLite)
  • 基于SpringBoot智慧社区系统/乡村振兴系统/大数据与人工智能平台
  • 做网站的公司跑了wordpress 首页显示产品
  • BLDCPMSM电机控制器硬件设计工程(八)72V 10kW电机控制器原理图工程及库文件
  • 西宁的网站建设公司怎样建立网站的快捷方式
  • MATLAB基于IOWGA算子的最优组合预测模型及应用
  • HarmonyOS Web组件深度解析:构建高性能JavaScript交互的实践与创新
  • 华为OD机试双机位A卷 - 竖直四子棋 (JAVA Python C++ JS GO)
  • Qt C++:跨平台开发利器
  • 愿景 做中国最受欢迎的互联网网站阿里云建站论坛网站
  • HotpotQA:推动多跳推理问答发展的标杆数据集
  • 【开题答辩全过程】以 二手家电回收平台的设计与实现为例,包含答辩的问题和答案
  • 图论基础概念
  • Doris支持的数据导入方式
  • 【SpringCloud(10)】Alibaba旗下微服务开发:Nacos注册中心和配置中心使用、安装Nacos、Nacos部署、集群部署
  • Font Awesome 文件类型图标
  • 细说 ASP.NET控制HTTP缓存
  • 高新区网站建设 意义搜索大全搜索引擎
  • S32K146 -CAN(FlexCAN)收发-经验教训
  • MCU学习Day24——STM32G030多路ADC DMA采集深度解析:完全可配置序列器与不完全可配置序列器的陷阱与抉择
  • dedecms 网站栏目管理寺庙网站素材
  • 东莞网站建设seo优化办公室现代简约装修效果图
  • 服务间通信模式
  • 如何用Python实现飞机大战小游戏