18
12月
2023
2023 年 12 月 14 日后 MySQL 8.0 存储库签名出现问题
17:10

2023 年 12 月 14 日后 MySQL 8.0 存储库签名出现问题

18 12月 2023 17:10

2023年12月12日,repo.mysql.com存储库签名过期,导致使用apt update更新MySQL出现问题。

症状

1)更新apt update包缓存时,显示错误

错误:2 http://repo.mysql.com/apt/ubuntu jammy InRelease
由于公钥不可用,无法验证以下签名:NO_PUBKEY B7B3B788A8D3785C

2)执行命令时 sudo dpkg-reconfigure mysql-apt-config apt update 的问题又出现了。

W:GPG错误:http://repo.mysql.com/apt/ubuntu jammy InRelease:由于公钥不可用,无法验证以下签名:NO_PUBKEY B7B3B788A8D3785C
E:存储库“http://repo.mysql.com/apt/ubuntu jammy InRelease”未签名。

3) 如果您安装或重新安装 mysql-apt-config_0.8.28-1_all.deb 并尝试更新软件包 apt update- 同样的错误: NO_PUBKEY B7B3B788A8D3785C

解决方法

Linux Mint - “开始” - “管理” - “应用程序源” 在“附加存储库”中禁用有关 MySQL 的三行,
或在文件中 /etc/apt/sources.list.d/mysql.list закомментировать эти строчки, либо удалить сам файл `/etc/apt/sources.list.d/mysql.list'

_这个方法暂时解决了问题_需要等到Oracle的所有者将新版本上传到他的存储库并使用有效密钥B7B3B788A8D3785C进行签名,该密钥的有效期为两年,直到2025年10月22日。

截至今天,密钥的状态如下:

gpg --fingerprint
/home/user/.gnupg/pubring.kbx
----------------------------
pub rsa4096 2023-10-23 [SC] [过期日期:2025-10-22]
    BCA4 3417 C3B4 85DD 128E C6D4 B7B3 B788 A8D3 785C
uid [未知] MySQL 发布工程 
sub rsa4096 2023-10-23 [E] [过期日期:2025-10-22]

pub rsa4096 2021-12-14 [SC] [过期时间:2023-12-14]
      859B E8D7 C586 F538 430B  19C2 467B 942D 3A79 BD29
uid [已过期] MySQL 发布工程 

永久解决方案 - 修复 MySQL 签名问题

1) 我们从 2022 年起删除旧的、不活动的密钥。

sudo apt-key del A4A9 4068 76FC BD3C 4567  70C8 8C71 8D3B 5072 E1F5
sudo apt-key del 859B E8D7 C586 F538 430B 19C2 467B 942D 3A79 BD29

2) 使用 GPG 下载新密钥 B7B3B788A8D3785C(如果您之前没有这样做过)

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

3) 在 cd /etc/apt/sources.list.d/ 文件夹中,编辑应用程序源 - 第三方存储库的文件: mysql.list

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

修正线路:

  • 而不是 [signed-by=/usr/share/keyrings/mysql-apt-config.gpg]
  • 指定[签名者=/etc/apt/trusted.gpg.d/mysql.gpg]

    值得信赖的

文件/etc/apt/sources.list.d/mysql.list的内容:

deb [签名者=/etc/apt/trusted.gpg.d/mysql.gpg] http://repo.mysql.com/apt/ubuntu/ jammy mysql-apt-config
deb [签名者=/etc/apt/trusted.gpg.d/mysql.gpg] http://repo.mysql.com/apt/ubuntu/ jammy mysql-8.0
deb [signed-by=/etc/apt/trusted.gpg.d/mysql.gpg] http://repo.mysql.com/apt/ubuntu/ jammy mysql-tools

已保存文件。

4)更新包缓存并更新它们

sudo apt update
sudo apt upgrade

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

 gpg --list-keys

关键...785C 有效期:2025-10-22


资料来源:
GitHub问题
MySQL 签名错误



相关出版物