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

Ubuntu 22.04安装MySQL失败求助:dpkg配置出错且OOM进程被终止

解决Ubuntu 22.04中MySQL 8.0安装失败(OOM Killer终止进程)的问题

错误原因分析

从日志核心信息mysql.service: 该单元的一个进程被OOM killer终止可以明确:系统内存不足导致MySQL启动时被内核OOM(Out-of-Memory) Killer强制终止,进而触发安装后脚本执行失败,引发dpkg依赖配置错误。


解决方案步骤

1. 彻底清理损坏的MySQL残留包

  • 停止所有MySQL相关服务:
    sudo systemctl stop mysql.service
    
  • 强制卸载所有MySQL相关包及配置:
    sudo apt-get remove --purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
    
  • 删除MySQL数据目录和配置目录:
    sudo rm -rf /var/lib/mysql /etc/mysql
    
  • 修复dpkg的异常状态:
    sudo dpkg --configure -a
    
  • 更新APT软件源缓存:
    sudo apt-get update
    

2. 调整MySQL内存配置(避免再次被OOM Killer终止)

针对低内存服务器,降低MySQL的内存占用阈值:

  • 创建自定义内存配置文件:
    sudo nano /etc/mysql/conf.d/memory.cnf
    
  • 添加以下配置(示例针对1GB内存服务器,可根据实际内存调整):
    [mysqld]
    performance_schema = OFF
    table_definition_cache = 400
    table_open_cache = 256
    innodb_buffer_pool_size = 128M
    key_buffer_size = 16M
    sort_buffer_size = 512K
    read_buffer_size = 256K
    read_rnd_buffer_size = 512K
    join_buffer_size = 128K
    
  • 保存并退出编辑器(按Ctrl+O确认保存,Ctrl+X退出)

3. 重新安装MySQL

  • 安装MySQL服务器:
    sudo apt-get install mysql-server
    
  • 安装完成后验证服务状态:
    sudo systemctl status mysql.service
    

补充:为低内存服务器添加Swap分区

如果服务器物理内存小于1GB,建议添加Swap分区缓解内存压力:

  • 创建1GB大小的Swap文件:
    sudo fallocate -l 1G /swapfile
    
  • 设置Swap文件权限(仅root可访问):
    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
    

内容的提问来源于stack exchange,提问作者Jagdeep Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 09:35:31