W: GPG error: http://repo.mysql.com/apt/ubuntu jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B7B3B788A8D3785C
E: The repository 'http://repo.mysql.com/apt/ubuntu jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
你在 Ubuntu Jammy (22.04) 上遇到了 GPG 错误,主要是因为 MySQL 仓库的公钥丢失或未正确导入。
这是一个常见的问题,可以通过重新添加 MySQL GPG 公钥 来修复。
✅ 解决方法:手动添加 MySQL GPG 公钥
1️⃣ 移除旧的 GPG 密钥
首先,确保删除旧的 MySQL GPG 密钥:
sudo apt-key del B7B3B788A8D3785C
2️⃣ 导入新的 MySQL 公钥
Ubuntu 现在推荐使用 gpg 方式来导入新的密钥:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 | sudo gpg --dearmor -o /etc/apt/keyrings/mysql.gpg
3️⃣ 更新 MySQL 仓库配置
编辑 MySQL 的仓库文件,将公钥路径更新为新的位置:
echo "deb [signed-by=/etc/apt/keyrings/mysql.gpg] http://repo.mysql.com/apt/ubuntu jammy mysql-apt-config" | sudo tee /etc/apt/sources.list.d/mysql.list
4️⃣ 更新系统包列表
运行以下命令更新包列表:
sudo apt update
🛠 如果问题依然存在,可以尝试的替代方案
🔄 使用 apt-key
命令导入公钥
如果你的系统依然支持 apt-key
命令,可以尝试使用以下方式:
wget -qO - https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 | sudo apt-key add -
🎉 修复完成后,验证
运行以下命令验证 MySQL 仓库是否正常:
sudo apt update
sudo apt install mysql-server
❓ 如果仍有问题
- 查看
/etc/apt/sources.list.d/mysql.list
文件内容 - 确认文件中路径与密钥路径一致