本文主要写在Linux平台上使用RPM包来安装Mysql8.4.6、初始化配置、安装的过程中本人所遇到的问题以及解决的方法

安装前,我们可以检测系统是否自带安装 MySQL:
rpm -qa | grep mysql
如果系统有安装,那可以对其进行卸载:
rpm -e mysql // 普通删除模式 rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其强制删除
接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源包,下载地址为:https://dev.mysql.com/downloads/repo/yum/
这里也有下载好的文件:
通过网盘分享的文件:mysql84-community-release-el7-2.noarch.rpm
链接: https://pan.baidu.com/s/155dmkIqsnbj8kXdamFpkKA?pwd=sdkc 提取码: sdkc
--来自百度网盘超级会员v7的分享
下载好之后通过工具如 sftp 、 scp 或者虚拟机共享文件夹等方式,将下载好的 .rpm 包上传到 CentOS 7 虚拟机中。
之后在虚拟机中进入存放该 .rpm 包的目录,执行 rpm -ivh 命令安装该资源包,后续再执行 yum update 和 yum install mysql-server 等命令安装 MySQL 服务器。
或者是在确保虚拟机可以连接外网,使用 wget 命令(wget http://repo.mysql.com/mysql-community-release-el7-2.noarch.rpm )直接在虚拟机中下载 MySQL Yum 资源包。
下载完成后,执行 rpm -ivh 命令安装资源包,接着执行 yum update 和 yum install mysql-server 等命令完成 MySQL 服务器的安装。
wget http://repo.mysql.com/mysql-community-release-el7-2.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm yum update yum install mysql-server
权限设置:
chown -R mysql:mysql /var/lib/mysql/
初始化 MySQL:
mysqld --initialize
启动 MySQL:
systemctl start mysqld
查看 MySQL 运行状态:
systemctl status mysqld
注意:如果是第一次启动 mysql 服务,mysql 服务器首先会进行初始化的配置。
MySQL 8.0+ 在首次启动时,会为 root 用户生成一个临时密码,并记录在日志文件中。你需要找到它才能进行后续操作。
grep 'temporary password' /var/log/mysqld.log执行后,复制冒号后面的那串临时密码。
运行安全配置脚本,它会引导你完成密码修改、移除匿名用户等操作。
mysql_secure_installation执行后,会出现一系列提示,你可以这样回答:
- Enter password for user root: 粘贴你刚才复制的临时密码,然后按回车。
- New password: 输入你的新密码(注意:密码需要包含大小写字母、数字和特殊符号,否则可能通不过安全检查)。
- Re-enter new password: 再次输入新密码。
- 接下来的几个问题(如
Remove anonymous users?、Disallow root login remotely?等),直接按y并回车即可,这是推荐的安全设置。
使用新密码登录 MySQL,验证是否成功。
mysql -u root -p当提示 Enter password: 时,输入你刚刚设置的新密码,然后按回车。如果成功进入 mysql> 命令行,就说明你已经完全成功了!
⚠️⚠️⚠️⚠️⚠️⚠️在下载的时候要根据自己的版本来,比如你是Centos 7 就下载对应的Linux 7 版本,不然就会报以下错误:

这个错误表明要安装的 mysql84-community-release-el10-2.noarch.rpm 包依赖于 rpm-lib(PayloadIsZstd) 的特定版本(<= 5.4.18-1),但当前系统中安装的 rpm-lib 版本不满足这个要求,导致安装失败。
⚠️⚠️⚠️⚠️⚠️⚠️如果你是用一个全新的虚拟机或是一个全新的Linux环境时,在yum update的时候会出现

主要问题是Yum 无法解析mirrorlist.centos.org 这个主机名,进而导致无法获取镜像列表,最终使得 yum update 等操作失败。解决这个问题就要从以下两个方面来入手:
1.DNS 配置问题:系统的 DNS 服务器设置不正确,导致无法将域名 mirrorlist.centos.org 解析为对应的 IP 地址。
2.网络连接问题:虚拟机可能存在网络连接故障,无法与外部网络(包括 DNS 服务器和 CentOS 镜像站点)正常通信。
编辑 /etc/resolv.conf 文件(使用 vi 或 nano 编辑器),添加如下内容(以 Google 的公共 DNS 为例):
nameserver 8.8.8.8
nameserver 8.8.4.4保存文件后,尝试再次执行 yum update 命令,看是否能正常解析域名。
查虚拟机的网络适配器设置,确保网络连接模式(如 NAT、桥接等)配置正确,且虚拟机能够 ping 通外部地址(如 ping www.baidu.com)。
如果 ping 不通,检查虚拟机的网络服务是否正常运行,可执行 systemctl status network 查看网络服务状态,若未运行,执行 systemctl start network 启动。
⚠️⚠️⚠️⚠️⚠️⚠️如果还是没解决并出现了如图所示的问题,那么就是因为CentOS 7 已经停止技术支持,官方源可能不再提供服务 ,导致yum无法获取到更新信息。

解决问题的方法就是更换为第三方源,这里以更换为阿里云的 CentOS 7 源为例:
备份原有的 CentOS-Base.repo 文件:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak下载阿里云的 CentOS 7 源配置文件:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo如果没有安装 wget ,先执行 yum install -y wget 进行安装。
清除 Yum 缓存并重新生成缓存:
yum clean all
yum makecache再次执行 yum update 。
除此之外也可能是防火墙规则可能阻止了yum与外部源进行通信。
systemctl stop firewalld
systemctl disable firewalld关闭后,尝试 yum update ,如果可以正常更新,说明是防火墙规则的问题
⚠️⚠️⚠️⚠️⚠️⚠️在使用进行安装wget时,可能会出现如下情况

出现问题的原因是 Yum 源中没有找到 wget 包,同时后续执行 wget 命令时,因为 wget 未安装,所以提示 command not found。
解决的方法就是需要配置系统基础的 Yum 源(如 CentOS 官方源或阿里云等第三方 CentOS 源),以获取 wget 等系统工具包。
由于目前 wget 未安装,无法直接用 wget 命令下载,可通过以下方式获取源配置文件:
- 方法一:从其他能上网的机器下载后传输到目标机器
在能正常上网的机器上,访问https://mirrors.aliyun.com/repo/Centos-7.repo,将页面内容保存为CentOS-Base.repo文件,然后通过scp、sftp等工具将该文件传输到目标机器的/etc/yum.repos.d/目录下。 - 方法二:在目标机器上用
curl下载(如果curl已安装)
如果系统中安装了curl,可以执行以下命令下载:curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
配置好源后,执行以下命令清除原有 Yum 缓存并生成新的缓存,使新的源配置生效:
bash
yum clean all
yum makecache现在yum源已经配置正确,再进行wget的安装
⚠️⚠️⚠️⚠️⚠️⚠️在启动的时候可能会出现如下报错

这是因为系统没有找到 mysqld.service 这个服务单元
首先使用 yum list installed | grep mysql 命令,查看已经安装的 MySQL 相关软件包列表。确保 mysql-server 以及其他相关依赖包都已成功安装。

这说明系统中缺少 mysqld.service 服务单元文件,就是 MySQL 服务器(mysql-community-server 包)未正确安装。以下就是解决的方法
- 安装 MySQL 服务器包:
执行以下命令安装 MySQL 服务器包,它会提供mysqld.service服务单元文件:
yum install -y mysql-community-server- 启动 MySQL 服务:
安装完成后,再次尝试启动 MySQL 服务:
systemctl start mysqld- 查看 MySQL 服务状态:
使用以下命令查看 MySQL 服务是否成功启动:
systemctl status mysqld如果输出中显示 active (running),则表示 MySQL 服务已成功启动。






