普通网友 2025-11-18 01:05 采纳率: 98.6%
浏览 2
已采纳

Ubuntu 22.04 安装 MySQL 8.4 LTS 时无法定位软件包

在Ubuntu 22.04系统中安装MySQL 8.4 LTS时,用户常遇到“无法定位软件包”的错误。该问题通常源于系统默认软件源未包含MySQL 8.4 LTS版本,或官方MySQL APT仓库未正确配置。由于Ubuntu 22.04自带源仅提供MySQL 8.0,而8.4 LTS需通过MySQL官方发布源支持,若未添加正确的GPG密钥或repository地址(如`https://repo.mysql.com/apt/ubuntu/`),APT将无法识别该版本包。此外,网络问题、源列表格式错误或系统架构不匹配也可能导致此问题。解决方法包括手动添加MySQL官方APT源、导入签名密钥并更新软件包列表。
  • 写回答

1条回答 默认 最新

  • 璐寶 2025-11-18 08:44
    关注

    Ubuntu 22.04 安装 MySQL 8.4 LTS 常见问题与深度解析

    1. 问题现象:无法定位软件包 mysql-server-8.4

    在执行以下命令时:

    sudo apt install mysql-server-8.4

    系统返回错误信息:

    E: Unable to locate package mysql-server-8.4
    E: Couldn't find any package by glob 'mysql-server-8.4'

    该错误表明 APT 包管理器无法在当前配置的软件源中找到指定版本的 MySQL 软件包。这是由于 Ubuntu 22.04 默认仓库仅提供 MySQL 8.0 版本,而 MySQL 8.4 LTS 并不在官方镜像源中。

    2. 根本原因分析

    • Ubuntu 自带源(如 http://archive.ubuntu.com)只维护长期支持版本中的默认数据库版本,当前为 MySQL 8.0。
    • MySQL 8.4 LTS 是 Oracle 官方发布的长期支持版本,必须通过其专用 APT 源获取。
    • 未正确添加 MySQL 官方仓库 URL:https://repo.mysql.com/apt/ubuntu/
    • GPG 密钥未导入,导致 APT 拒绝信任第三方源。
    • /etc/apt/sources.list.d/mysql.list 文件格式错误或架构不匹配(amd64/arm64)。
    • DNS 或网络限制阻止访问 repo.mysql.com。

    3. 解决方案流程图

    graph TD
        A[开始安装 MySQL 8.4 LTS] --> B{是否已添加官方源?}
        B -- 否 --> C[下载并安装 mysql-apt-config]
        B -- 是 --> D[更新 APT 缓存]
        C --> E[导入 GPG 公钥]
        E --> F[配置发行版和组件]
        F --> D
        D --> G{能否找到 mysql-server-8.4?}
        G -- 否 --> H[检查网络、DNS、防火墙]
        G -- 是 --> I[执行安装命令]
        H --> J[修复网络策略或更换镜像代理]
        J --> D
        I --> K[完成安装并初始化]
    

    4. 分步解决方案

    1. 更新系统包索引
      sudo apt update && sudo apt upgrade -y
    2. 安装 wget 工具(如未安装)
      sudo apt install wget -y
    3. 下载 MySQL APT 配置包
      wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb
    4. 安装配置包(触发交互式设置)
      sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb
      在弹出界面中选择 MySQL Server & Cluster → mysql-8.4。
    5. 手动验证源文件内容: 查看 /etc/apt/sources.list.d/mysql.list 应包含类似内容:
      deb https://repo.mysql.com/apt/ubuntu jammy mysql-8.4
      deb-src https://repo.mysql.com/apt/ubuntu jammy mysql-8.4
    6. 导入 MySQL GPG 密钥
      sudo mkdir -p /etc/apt/keyrings
      wget -O- https://repo.mysql.com/RPM-GPG-KEY-mysql | sudo gpg --dearmor -o /etc/apt/keyrings/mysql.gpg
    7. 更新 APT 缓存
      sudo apt update
    8. 搜索可用版本确认源生效
      apt-cache policy mysql-server
      输出应显示候选版本为 8.4.x。
    9. 安装 MySQL 8.4 LTS
      sudo apt install mysql-server -y
    10. 运行安全脚本并设置 root 密码
      sudo mysql_secure_installation

    5. 故障排查表格

    症状可能原因解决方法
    “NO_PUBKEY” 错误GPG 密钥缺失重新导入 RPM-GPG-KEY-mysql 到 keyrings 目录
    404 Not Found on repo URL源地址拼写错误或路径变更确认使用 https://repo.mysql.com/apt/ubuntu/
    Only MySQL 8.0 available未启用 mysql-8.4 组件重装 mysql-apt-config 并选择正确版本
    Connection timeout网络受限或 DNS 问题使用 curl 测试连通性或配置代理
    Architecture mismatchARM 架构尝试安装 x86_64 包确认系统架构与源兼容性
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 11月19日
  • 创建了问题 11月18日