星巡研究院

MySQL 配置速查

my.cnf

连接、缓冲池、日志与字符集相关配置项,及常用调优点。

# MySQL 配置速查 ## 核心结构 配置通常写在 my.cnf 的 mysqld 段,分为 server / innodb / replication 等分组。 ## 高频配置项 - bind-address / port:监听地址与端口 - max_connections:最大连接数,需与线程缓冲的内存占用一起估算 - innodb_buffer_pool_size:InnoDB 缓冲池,最关键的调优点,常设为可用内存的一半以上 - innodb_flush_log_at_trx_commit:事务提交时的日志落盘策略,1 最安全、2 折中、0 最快 - innodb_log_file_size:重做日志大小,影响写入吞吐 - character-set-server / collation-server:字符集与排序规则 - slow_query_log / long_query_time:慢日志开关与阈值 - max_allowed_packet:单包大小上限,大字段或批量插入需调大 ## 字符集 新建库表建议显式指定 utf8mb4,避免后期改字符集的表重建成本。排序规则按是否需要大小写敏感选择。 ## 常见坑 - 只调 max_connections 不算内存,连接一多把机器压垮 - 慢日志没开,出问题只能靠猜 - 事务里做慢速外部调用,长事务拖住回滚段与元数据锁 - 隐式类型转换导致索引失效,比如字符串列传了数字 - 备份只做逻辑导出,没验证恢复流程是否真的可用 ## 排查看什么 SHOW PROCESSLIST、EXPLAIN 看执行计划、SHOW ENGINE INNODB STATUS 看锁与等待。
#mysql#database#innodb