MySQL my.cnf

MySQL 配置文件 my.cnf

vi /etc/my.cnf

mysqld

slow_query_log=1 #开启慢日志

long_query_time=1 #慢日志阈值

lower_case_table_names=1 #忽略表名大小写

max_connections=500 #最大连接数

max_execution_time=10000 #超时SQL阈值

其他配置:

innodb_buffer_pool_size作用:InnoDB 缓存池(缓存数据、索引),是性能关键参数。建议:设为物理内存的 50%-80%(如 16GB 内存设为 10GB)。

innodb_log_file_size作用:InnoDB 重做日志大小,影响写入性能。建议:设为 256M-2G(写负载高的场景可加大)。

sort_buffer_size/join_buffer_size作用:排序、表连接的内存缓冲区。建议:默认 2M 左右,避免过大(防止内存耗尽)。

log_bin作用:开启二进制日志(主从复制、数据恢复必备)。示例:log_bin = /var/log/mysql/mysql-bin.log。

binlog_format作用:二进制日志格式,推荐ROW(保证数据一致性)。

log_error作用:指定错误日志路径,用于定位崩溃 / 异常。

interactive_timeout/wait_timeout作用:空闲连接超时时间,默认 8 小时(28800 秒),建议缩短为 300 秒(避免资源浪费)。

thread_cache_size作用:线程缓存数,减少线程创建开销。建议:设为max_connections的 10% 左右。

character-set-server作用:默认字符集,推荐utf8mb4(支持 Emoji)。

server-id作用:主从复制中服务器唯一标识,必须设置(如主库设 1,从库设 2)。

datadir作用:数据文件存储路径,建议挂载独立磁盘(避免系统盘满)。

  • innodb_flush_log_at_trx_commit作用:事务日志刷盘策略(平衡安全与性能):

    • 1:事务提交即刷盘(最安全,性能略低);
    • 2:写入 OS 缓存,每秒刷盘(折中方案)。
  • innodb_file_per_table作用:每张表独立存储为.ibd文件,便于管理 / 回收空间(默认开启)。

mysql-8.0.30-winx64

相关推荐
计算机毕设定制辅导-无忧学长10 小时前
《基于微信小程序健康习惯激励系统设计与实现》
java·spring boot·mysql·微信小程序·uniapp·健康习惯激励系统
Decay__11 小时前
15_MySQL 数据同步与迁移方案 —— 复制 / DataX / Canal / 异构同步(对标 Oracle GoldenGate)
运维·数据库·sql·mysql·架构
雪芽蓝域zzs12 小时前
第 2 章:整合 MySQL + MyBatis,搭建数据库基础、实体类、Mapper、测试查询
数据库·mysql·mybatis
余槐i13 小时前
Spring Boot 3.2 偶发500无日志:线程池复用导致请求上下文丢失
spring boot·redis·后端·mysql·性能优化
孤狼GPT13 小时前
ChatGPT、Codex数据库实战:MyBatis-Plus第一页查询正常,翻到第10000页为什么越来越慢?
mysql·chatgpt·mybatis-plus·codex·深分页
Decay__14 小时前
17_MySQL 监控体系构建 —— mysqld_exporter + Prometheus + Grafana 全栈实战
运维·数据库·sql·mysql·架构
Franciz小测测14 小时前
MySQL 增量备份实践:文件都在,为什么仍可能恢复失败?
数据库·mysql·binlog
幽灵诶1 天前
Mysql(基于测试的学习)
数据库·mysql
宇宙无敌暴龙战士6661 天前
MySQL 8 库表操作学习笔记:SQL 基础、库表管理、约束与用户授权全流程
数据库·sql·mysql·学习笔记·后端开发
猿究院_夏燊1 天前
MySQL 的四种隔离级别
java·数据库·mysql