11
11月
2025
2025 年 10 月 22 日后 MySQL Server 8.0 存储库签名出现问题
17:02

2025 年 10 月 22 日后 MySQL Server 8.0 存储库签名出现问题

11 11月 2025 17:02

问题出在密钥 0xB7B3B788A8D3785C 上,因为它已过时。 文章提供了该问题的解决方案。

2025年10月下旬,仓库repo.mysql.com签名出现问题,命令 sudo apt update 显示错误:

W:验证签名时发生错误。 存储库不会更新,并且将使用以前的索引文件。 GPG 错误:http://repo.mysql.com/apt/ubuntu jammy InRelease:以下签名无效:EXPKEYSIG B7B3B788A8D3785C MySQL 发布工程 mysql-build@oss.oracle.com
W:无法获取http://repo.mysql.com/apt/ubuntu/dists/jammy/InRelease 以下签名无效:EXPKEYSIG B7B3B788A8D3785C MySQL Release Engineering mysql-build@oss.oracle.com
W:某些索引文件无法下载。 它们被忽略或使用旧版本。

! 原因:密钥已过期。新钥匙已发布 从 10/23/2025 到 10/23/2027。
! 关键 UID:MySQL 发布工程 mysql-build@oss.oracle.com

解决方案

1) 删除过期的旧密钥(过期日期为 2025 年 10 月 22 日)。

如果密钥以旧方式添加到共享密钥存储中

sudo apt-key del B7B3 B788 A8D3 785C

如果将密钥添加到单独的 gpg 文件中(新方式):

cd /etc/apt/trusted.gpg.d
ls *.gpg
sudo rm mysql8.gpg

2) 使用GPG,下载新密钥B7B3B788A8D3785C

cd ~
gpg --keyserver keyserver.ubuntu.com --recv B7B3B788A8D3785C

屏幕输出:
gpg: key B7B3B788A8D3785C: “MySQL Release Engineering mysql-build@oss.oracle.com” 2 个新签名
gpg:已处理总数:1
gpg:新签名:2

让我们以_新方式_导入 gpg 密钥:

gpg --export B7B3B788A8D3785C | sudo tee /etc/apt/trusted.gpg.d/mysql.gpg > /dev/null

!!如果MySQL安装没有改变,第3点和第4点可以跳过。 如果mysql服务器安装的组成发生变化,这些要点可供参考。转到第5点

3)生成mysql的默认文件

sudo dpkg-reconfigure mysql-apt-config
  • MySQL和Cluster(当前选择:mysql-8.0)
  • MySQL 工具和连接器(当前选择: 启用
  • MySQL 预览包(当前选择: 残疾人 )。

    mysql-config1

在mysql配置器窗口中,按TAB键转到下方的“确定”按钮。

mysql-config1a
按 Enter 键。

在下一个屏幕上:“您希望接收哪个服务器版本?"

选择当前版本:

  • mysql 8.0

    mysql 配置2

然后按TAB键转到底部的确定按钮。
mysql 配置2

我们返回到上一屏幕...使用光标移动到小行“ok”。
mysql-config1

对于这个问题:

“文件‘/usr/share/keyrings/mysql-apt-config.gpg’存在。覆盖?(y/N)”

  • 回答 “是” 和钥匙 输入。
    mysql-config5

4) 编辑应用程序源-第三方存储库的文件: mysql.list[/标记]

cd /etc/apt/sources.list.d/

sudo nano /etc/apt/sources.list.d/mysql.list

在编辑器中,可以按Ctrl+\来替换:

  • 搜索(要更改的内容)[signed-by=/usr/share/keyrings/mysql-apt-config.gpg]
  • 替换为 [signed-by=/etc/apt/trusted.gpg.d/mysql.gpg]

替换此条目?

A - все.

替换后文件 /usr/share/keyrings/mysql-apt-config.gpg 的内容:

mysql-config6

以相同名称保存文件:Ctrl+O、Enter、Ctrl+X。

<a名称=“p5”>
5) 刷新包缓存并安装更新:

sudo apt update
sudo apt upgrade

!!!评论。 我不建议通过按Ctrl+C来中断apt升级更新,否则会出现不满足的依赖关系。
!! ! 解决方案: sudo apt --fix-broken install

结果

!!! 不再出现 apt update 错误,mysql 存储库已使用有效签名 B7B3B788A8D3785C 进行签名。

 gpg --list-keys

关键...785C 有效期:2027-10-23


资料来源:
bugs.mysql.com,
2023 年 12 月 14 日后 MySQL 8.0 存储库签名出现问题



相关出版物