You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EC2 t4g.nano实例上MySQL Server 8.0安装失败问题求助

AWS EC2 t4g.nano实例上MySQL Server 8.0安装失败问题求助

看起来你遇到的问题根源很清晰——从日志里的A process of this unit has been killed by the OOM killer就能看出来,你的t4g.nano实例内存不够用了!

t4g.nano实例只有512MB的内存,而MySQL 8.0默认的配置参数(比如缓冲池、连接数设置)是针对常规服务器的,启动时会占用远超512MB的内存,系统为了避免崩溃,就触发了OOM Killer把MySQL进程杀掉了,这就是安装后启动失败的原因。

下面是具体的解决步骤:

1. 先清理失败的安装残留

首先把之前安装失败的MySQL相关包和残留文件清理干净,避免后续安装出问题:

sudo apt purge mysql-server-8.0 mysql-server-core-8.0 mysql-client-8.0 mysql-client-core-8.0 mysql-common
sudo apt autoremove --purge
sudo rm -rf /var/lib/mysql /etc/mysql /var/log/mysql

2. 提前配置MySQL的低内存适配参数

在重新安装之前,先创建一个适配小内存实例的配置文件,让MySQL启动时占用更少的内存:
创建并编辑配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

添加或修改以下参数(覆盖默认配置):

[mysqld]
# 核心缓冲池,设置为内存的1/8左右(512MB的话64M刚好)
innodb_buffer_pool_size = 64M
# 减少排序和读取缓冲的大小
sort_buffer_size = 16K
read_buffer_size = 16K
read_rnd_buffer_size = 16K
# 限制最大连接数,小内存实例不需要太多连接
max_connections = 10
# 关闭性能_schema,节省内存
performance_schema = OFF
# 减小日志文件大小
innodb_log_file_size = 16M
# 调整日志刷新策略,平衡性能和内存
innodb_flush_log_at_trx_commit = 2

保存退出(Ctrl+O,回车,Ctrl+X)

3. 重新安装MySQL

现在可以重新安装MySQL了:

sudo apt update && sudo apt install mysql-server-8.0

4. 验证MySQL服务状态

安装完成后,检查服务是否正常启动:

sudo systemctl status mysql

如果看到active (running)就说明成功了!

额外优化:开启Swap分区

为了进一步缓解内存压力,你可以给实例添加Swap虚拟内存:

# 创建1GB的Swap文件
sudo fallocate -l 1G /swapfile
# 设置权限
sudo chmod 600 /swapfile
# 格式化Swap文件
sudo mkswap /swapfile
# 启用Swap
sudo swapon /swapfile
# 设置开机自动挂载Swap
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

这样调整后,MySQL就能在t4g.nano的小内存环境下正常运行了。

备注:内容来源于stack exchange,提问作者Ryland Goldman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:43:11