如何在EC2 Amazon Linux 2服务器更新RPM?解决MySQL安装报错
Amazon Linux 2 安装MySQL 解决 rpmlib(PayloadIsZstd) 依赖错误
一、最优方案:安装适配Amazon Linux 2的MySQL官方源
你遇到的问题根源是用错了MySQL源包——你安装的是EL9版本的mysql80-community-release-el9-1.noarch,但Amazon Linux 2基于EL7,自带的rpm版本不支持EL9采用的Zstd压缩格式,因此触发依赖报错。更换对应版本的源即可解决:
- 若已安装错误的源包,先卸载:
sudo rpm -e mysql80-community-release-el9-1.noarch - 下载适配Amazon Linux 2的MySQL 8.0源包:
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm - 安装适配的源包:
sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm - 安装MySQL服务器:
sudo yum install mysql-community-server - 启动服务并设置开机自启:
sudo systemctl start mysqld sudo systemctl enable mysqld
二、不推荐操作:升级rpm自身版本
如果非要通过升级rpm来支持Zstd压缩,可按以下步骤操作,但此方法风险较高,可能破坏系统包管理依赖,谨慎尝试:
- 先安装编译所需依赖:
sudo yum install gcc make zlib-devel bzip2-devel xz-devel openssl-devel - 下载支持Zstd的rpm源码包(示例版本为rpm-4.16.1.3):
wget https://ftp.osuosl.org/pub/rpm/releases/rpm-4.16.x/rpm-4.16.1.3.tar.bz2 - 解压并编译安装:
tar xjf rpm-4.16.1.3.tar.bz2 cd rpm-4.16.1.3 ./configure --prefix=/usr --with-zstd make sudo make install
内容的提问来源于stack exchange,提问作者Finn Phillips
相关产品推荐
相关产品推荐

