一、Ubuntu安装mysql出现public key is not available: NO_PUBKEY gpg: keyserver receive failed: Server indicated a failure
在文章 Ubuntu下使用apt方式安装Mysql8.0版本-CSDN博客 中,安装mysql的过程中添加进mysql的源后,再执行apt-get更新源时可能会出现下面的错误。
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
W: GPG error: http://repo.mysql.com/apt/ubuntu bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
根据报错提示是当前的公钥不可用,在之前的文章中提到过可用的方法,即使用apt-key adv --keyserver keyserver.ubuntu.com --recv-keys添加公钥。但最新使用时发现会报错gpg: keyserver receive failed: Server indicated a failure。通过直接ping域名也无法拼通。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
Executing: /tmp/apt-key-gpghome.LT5PVsH00P/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
gpg: keyserver receive failed: Server indicated a failure
后在其它的例子中发现地址有变,于是改用了下面的地址:hkp://keyserver.ubuntu.com:80 添加成功。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 467B942D3A79BD29
gpg: key 467B942D3A79BD29: public key "MySQL Release Engineering <mysql-build@oss.oracle.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
#MYSQL安装成功后可以使用以下命令进行服务管理
service mysql status/stop/start/restart
配置文件路径 :/etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
log-error = /var/log/mysql/error.log
#卸载MySQL可使用如下命令:
sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoclean
二、ubuntu在更换源之后apt update出现public key is not available: : NO_PUBKEY
ubuntu环境中在更换源之后使用apt update更新源出现报错:The following signatures couldn't be verified because the public key is not available: : NO_PUBKEY XXXXXXXXXXXXXX
test@test:~# apt-get update
Err:6 https://download.docker.com/linux/ubuntu bionic InRelease
GPG error: The following signatures couldn't be verified because the public key is not available
The following signatures couldn't be verified because the public key is not available: : NO_PUBKEY XXXXXXXXXXXXXX
问题中提示public key is not available公钥无效,缺失公钥。解决方法:从key server获得缺失的公钥XXXXXXXXXXXXXX,并导入公钥。
test@test:~# gpg --keyserver keyserver.ubuntu.com --recv XXXXXXXXXXXXXX
gpg: keybox '/root/.gnupg/pubring.kbx' created
test@test:~# gpg --export --armor XXXXXXXXXXXXXX| apt-key add -
OK
test@test:~# apt-get update
SUCCESS
可用的key server有:keyserver.ubuntu.com pgp.mit.edu subkeys.pgp.net www.gpg-keyserver.de