CentOS 安装 mysql-server 报错:没有可用软件包(保姆级教程)
yum install -y mysql-server 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * epel: ftp.iij.ad.jp http://archive.apache.org/dist/cdh5/cdh-5.4.3/redhat7/yum/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found 正在尝试其它镜像。 To address this issue please refer to the below wiki article https://wiki.centos.org/yum-errors If above article doesn't help to resolve this issue please use https://bugs.centos.org/. 没有可用软件包 mysql-server。 错误:无须任何处理

你遇到的核心问题有两个:
- CDH5 镜像源失效(404 错误):系统里残留了旧的 CDH5 仓库,地址已失效,干扰 yum 正常运行
- CentOS 默认无 mysql-server 包:CentOS 7/8 官方源已替换 MySQL 为 MariaDB,直接装
mysql-server会提示无包
一步到位解决方案
第一步:清理失效的 CDH5 仓库(先解决 404 报错)
执行命令删除无效的 CDH 源配置:
# 查找并删除 cdh5 相关的 repo 文件
rm -rf /etc/yum.repos.d/cdh5.repo
rm -rf /etc/yum.repos.d/cloudera*.repo
# 清理 yum 缓存
yum clean all
yum makecache
第二步:安装 MySQL(官方源)
CentOS 系统需要先安装 MySQL 官方 YUM 仓库,才能安装 mysql-server:
1. 下载并安装 MySQL 官方源
# CentOS 7 专用
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
2. 安装 MySQL 服务
yum install -y mysql-community-server
如果提示失败
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥 导入 GPG key 0x5072E1F5: 用户ID : "MySQL Release Engineering <mysql-build@oss.oracle.com>" 指纹 : a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5 软件包 : mysql57-community-release-el7-11.noarch (installed) 来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql mysql-community-libs-5.7.44-1.el7.x86_64.rpm 的公钥尚未安装 失败的软件包是:mysql-community-libs-5.7.44-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
直接复制运行这条命令,修复密钥问题
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
修复后,重新安装 MySQL
yum install -y mysql-community-server
安装完成后,启动并设置开机自启
systemctl start mysqld
systemctl enable mysqld
查看初始密码
grep 'temporary password' /var/log/mysqld.log
第三步:启动并配置 MySQL
# 启动 MySQL
systemctl start mysqld
# 设置开机自启
systemctl enable mysqld
# 查看初始密码(MySQL 5.7 自动生成)
grep 'temporary password' /var/log/mysqld.log
如果初始密码为空,说明你的 MySQL 日志里没有生成临时密码,这是安装后常见的小问题
第一步:停止 MySQL 服务
systemctl stop mysqld
第二步:修改 MySQL 配置文件,开启免密登录
vi /etc/my.cnf
按 i 进入编辑模式,在 [mysqld] 这一行下面添加一行:
skip-grant-tables
添加后大概长这样:
[mysqld]
skip-grant-tables
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
按 Esc,输入 :wq 保存退出。
第三步:启动 MySQL
systemctl start mysqld
第四步:直接无密码登录 MySQL
mysql -uroot
第五步:执行 3 行命令重置密码
use mysql;
update mysql.user set authentication_string=password('123456') where user='root';
flush privileges;
exit;
然后去 my.cnf 删掉免密配置
vi /etc/my.cnf
把 skip-grant-tables 这一行删除,:wq 保存。
重启 MySQL
systemctl restart mysqld
现在用密码登录成功!
mysql -uroot -p123456
替代方案:安装 MariaDB(兼容 MySQL,无需额外源)
如果不需要原版 MySQL,CentOS 默认自带的 MariaDB 完全兼容 MySQL,一键安装:
yum install -y mariadb-server
systemctl start mariadb
systemctl enable mariadb
总结
- 先删除失效的
cdh5仓库,解决 yum 404 报错 - 装 MySQL 必须先加官方 YUM 源,不能直接装
mysql-server - 极简替代方案:直接装
mariadb-server(兼容 MySQL)
更多推荐




所有评论(0)