暂无图片
暂无图片
7
暂无图片
暂无图片
暂无图片

《MySQL 8.4.6 单机安装手册》

原创 歪比叭啵 2025-10-14
1372

本文主要写在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

执行后,会出现一系列提示,你可以这样回答:

  1. Enter password for user root: 粘贴你刚才复制的临时密码,然后按回车。
  2. New password: 输入你的新密码(注意:密码需要包含大小写字母、数字和特殊符号,否则可能通不过安全检查)。
  3. Re-enter new password: 再次输入新密码。
  4. 接下来的几个问题(如 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 文件(使用 vinano 编辑器),添加如下内容(以 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 文件,然后通过 scpsftp 等工具将该文件传输到目标机器的 /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 包)未正确安装。以下就是解决的方法

  1. 安装 MySQL 服务器包
    执行以下命令安装 MySQL 服务器包,它会提供 mysqld.service 服务单元文件:

yum install -y mysql-community-server
  1. 启动 MySQL 服务
    安装完成后,再次尝试启动 MySQL 服务:

systemctl start mysqld
  1. 查看 MySQL 服务状态
    使用以下命令查看 MySQL 服务是否成功启动:

systemctl status mysqld

如果输出中显示 active (running),则表示 MySQL 服务已成功启动。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论