我已经mysql-server
安装了包!
我想确保我的 Ubuntu 中安装了最新的 MySQL。所以(很久以前)我添加了repo.mysql.com/apt/ubuntu
PPA。最近我在执行时注意到与此存储库相关的错误apt update
。以下本指南我已经下载并导入了公共 GPG 密钥。
现在当我这样做时sudo apt update
出现此错误:
Err:8 http://repo.mysql.com/apt/ubuntu cosmic InRelease
The following signatures were invalid: EXPKEYSIG 8C718D3B5072E1F5 MySQL Release Engineering <[email protected]>
操作系统信息:Ubuntu 18.10
我是否应该担心这个无效签名?如何修复错误?
答案1
您看到的错误表明您的密钥已过期。
sudo apt-key list
如果您希望缩小输出范围,则可以使用该命令列出系统上的所有密钥,您可以随时通过管道传输输出grep expired
以仅获取过期密钥的列表。
对于每个过期的密钥,发出命令sudo apt-key adv --keyserver [KEY_SERVER] --recv-keys [KEY]
,其中 [KEY] 与相关数字相关,或者在这种情况下:
8C718D3B5072E1F5
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8C718D3B5072E1F5
keyserver.ubuntu.com 是指由 Canonical, Ltd. 运行的开放 PGP 密钥服务器。
您也可以通过 Web 界面搜索密钥:密钥服务器
您将获得一个与此类似但不完全相同的页面:
在搜索框中输入以 0x 开头的 EXPKEYSIG 中的密钥并进行搜索,应该会返回类似如下的结果:
据我所知,8 个十六进制数字是简短版本(公钥),您需要使用以下命令获取更新的密钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5072E1F5
资料来源:
答案2
从以下位置获取最新(未过期)的 MySQL APT 存储库: https://dev.mysql.com/downloads/repo/apt/
现在: https://repo.mysql.com//mysql-apt-config_0.8.13-1_all.deb
wget https://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
sudo apt-get update
sudo apt install mysql-server
答案3
尝试运行
$sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 5072E1F5
答案4
此处的 GPG 公钥不正确。需要重新安装最新的 GPG 公钥。
请尝试
# apt-key adv --keyserver pgp.mit.edu --recv-keys 467B942D3A79BD29
它将在服务器上安装正确的 MySQL 服务器 GPG 密钥,然后添加 mysql 服务器的 repo
对于 Ubuntu 22.04(Jammy)
# echo "deb https://repo.mysql.com/apt/ubuntu/ jammy mysql-apt-config
deb https://repo.mysql.com/apt/ubuntu/ jammy mysql-8.0
deb https://repo.mysql.com/apt/ubuntu/ jammy mysql-tools
deb https://repo.mysql.com/apt/ubuntu/ jammy mysql-cluster-8.0
deb-src https://repo.mysql.com/apt/ubuntu/ jammy mysql-8.0" | sudo tee /etc/apt/sources.list.d/mysql-8.0.list
对于 Ubuntu 20.04 (Focal):
# echo "deb https://repo.mysql.com/apt/ubuntu/ focal mysql-apt-config
deb https://repo.mysql.com/apt/ubuntu/ focal mysql-8.0
deb https://repo.mysql.com/apt/ubuntu/ focal mysql-tools
deb https://repo.mysql.com/apt/ubuntu/ focal mysql-cluster-8.0
deb-src https://repo.mysql.com/apt/ubuntu/ focal mysql-8.0" | sudo tee /etc/apt/sources.list.d/mysql-8.0.list
对于 Ubuntu 18.04 (Bionic):
# echo "deb https://repo.mysql.com/apt/ubuntu/ bionic mysql-apt-config
deb https://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0
deb https://repo.mysql.com/apt/ubuntu/ bionic mysql-tools
deb https://repo.mysql.com/apt/ubuntu/ bionic mysql-cluster-8.0
deb-src https://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0" | sudo tee /etc/apt/sources.list.d/mysql-8.0.list
对于 Ubuntu 16.04 (Xenial):
# echo "deb https://repo.mysql.com/apt/ubuntu/ xenial mysql-apt-config
deb https://repo.mysql.com/apt/ubuntu/ xenial mysql-8.0
deb https://repo.mysql.com/apt/ubuntu/ xenial mysql-tools
deb https://repo.mysql.com/apt/ubuntu/ xenial mysql-cluster-8.0
deb-src https://repo.mysql.com/apt/ubuntu/ xenial mysql-8.0" | sudo tee /etc/apt/sources.list.d/mysql-8.0.list
然后运行
# apt update
# apt install mysql-server