核心结论
1核1G内存的服务器配置MySQL时,需以低资源消耗为核心目标,重点优化内存参数与并发连接数,避免OOM(内存溢出)风险。
配置关键方向
1. 基础参数调优
- innodb_buffer_pool_size:设置为256MB~384MB(约占内存30%~40%),避免占用过多内存。
- max_connections:限制为30~50,防止高并发耗尽资源。
- key_buffer_size:非MyISAM引擎可设为16MB以下。
2. 性能与稳定性优化
- 关闭非必要功能:禁用查询缓存(
query_cache_type=OFF),减少内存开销。 - 日志精简:调低binlog格式为
ROW,并设置expire_logs_days=7自动清理。 - swap分区:确保开启,作为内存不足时的备份方案。
3. 规避高风险操作
- 避免复杂查询:禁止大表JOIN或全表扫描,优先使用索引。
- 定期维护:每周执行
OPTIMIZE TABLE或使用pt-online-schema-change工具减少碎片。
配置示例(my.cnf片段)
[mysqld]
innodb_buffer_pool_size=300M
max_connections=40
query_cache_type=OFF
innodb_flush_log_at_trx_commit=1
skip_name_resolve=ON
performance_schema=OFF
注意事项
- 监控必需:部署Prometheus+Grafana或简易脚本监控内存与CPU使用率。
- 版本选择:优先使用MySQL 5.7或8.0轻量版(如Percona Server)。
以上配置平衡性能与稳定性,适合低负载测试环境或微型应用。
CCLOUD博客