innodb_buffer_pool_size设为物理内存的50%-80%(InnoDB核心参数,缓存数据和索引)。max_connections根据实际需求设置(避免过多连接占用内存),建议配合thread_cache_size(缓存线程,减少创建开销)。tmp_table_size和max_heap_table_size设为64M-256M(控制排序/临时表内存消耗)。query_cache(可能引发性能瓶颈)。SELECT 具体列替代SELECT *,减少数据传输。EXPLAIN分析执行计划,避免过度索引。systemd或cgroup限制MySQL进程内存上限,避免占用全部物理内存。SHOW STATUS或performance_schema监控内存使用,重点关注缓冲池命中率、临时表使用情况。OPTIMIZE TABLE整理碎片,更新统计信息以辅助优化器决策。注意:修改配置后需重启MySQL生效,生产环境建议先在测试环境验证。
参考来源: