MySQL 8.0 在 1GB 内存上的“保命”配置

/etc/mysql/mysql.conf.d/mysqld.cnf 中加入以下关键配置

[mysqld]
# 1. 核心:限制缓冲池 (生死线)
innodb_buffer_pool_size = 64M
# 如果 64M 还不够稳,可以降到 32M,只是查询稍慢

# 2. 关键:关闭性能监控 (MySQL 8 的内存杀手!)
# 这个选项默认开启,能吃掉 100MB+ 内存,必须关掉
performance_schema = OFF

# 3. 禁用自适应哈希索引 (省内存,换轻微 CPU)
innodb_adaptive_hash_index = OFF

# 4. 限制连接数 (防止并发撑爆)
max_connections = 20

# 5. 压缩每连接缓冲区 (KB 级别)
sort_buffer_size = 64K
read_buffer_size = 64K
read_rnd_buffer_size = 64K
join_buffer_size = 64K

# 6. 临时表限制 (超过即落盘)
max_heap_table_size = 4M
tmp_table_size = 4M

# 7. 减少后台 IO 线程
innodb_read_io_threads = 2
innodb_write_io_threads = 2

Comments

No comments yet. Why don’t you start the discussion?

发表回复