Linux (CentOS/RHEL) 下 RPM 安装 MySQL 8.0 完整教程

何川
何川
发布时间:2026-10-16| 7人浏览过
原创

本文讲解如何在 CentOS 或 RHEL 等 Linux 发行版上通过官方 RPM 包安装 MySQL 8.0。内容包含清理环境冲突、安装依赖包、启动服务及初始化密码设置的具体操作命令。

准备工作:环境检查与清理

在安装新的 MySQL 版本前,首先需要确认服务器操作系统类型,并彻底清理可能存在的旧版数据库残留(如自带的 mysql 或 mariadb),以避免端口冲突和依赖问题。

第1步:查询并删除旧版数据库

目的:避免新旧数据库文件冲突,确保纯净的安装环境。

  1. 查询 MySQL 残留:执行 rpm -qa | grep mysql。如果有输出结果,根据文件名执行删除,例如:rpm -e --nodeps <文件名>(--nodeps表示强制删除)。
  2. 查询 MariaDB 残留:MariaDB 是 MySQL 的常见分支,也常被预装。执行 rpm -qa | grep mariadb 查看,若有存在同样需要强制删除。

获取安装包:匹配系统与内核

MySQL 提供了针对特定 Linux 版本的 RPM 集合包(Bundle),需根据服务器内核版本进行挑选。

第2步:确认系统内核类型

入口:终端
动作:执行 cat /proc/version。通常我们会看到类似于 el7.x86_64 的字样,这代表系统内核版本,决定了你需要下载的 RPM 包后缀。

第3步:下载对应的 RPM Bundle 文件

操作:访问 MySQL 官网下载中心,选择 Community Server -> Downloads。将 Platform 选为 All Operating Systems,然后找到 RPM Bundle 选项并下载。

第4步:上传文件至服务器

方法A(命令行):如果服务器未安装 lrzsz,先执行 yum -y install lrzsz,然后输入 rz -be 选择本地下载好的 RPM Bundle 压缩包进行上传。
方法B(可视化工具):使用 Xftp 等工具直接拖拽上传,效率更高。

核心步骤:解压并按序安装组件

这是最关键的一步。RPM Bundle 中包含多个独立的 RPM 包,必须严格按照依赖顺序安装。建议先解压到当前目录再逐个安装。

第5步:解压文件

动作:在放置文件的目录下执行 tar -xvf mysql-8.0.xx-xx.el7.x86_64.rpm-bundle.tar(注意替换为你下载的实际文件名)。

第6步:依次安装 RPM 包

重要参数:以下命令中 --force --nodeps 用于处理因库版本差异导致的依赖报错,但在生产环境中请仔细核对,仅建议在测试或明确知道会覆盖时保留。

正确安装顺序如下:


// 1. common (基础通用组件)
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm

// 2. libs (运行库,强制跳过依赖)
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --force --nodeps

// 3. libs-compat (兼容库)
rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm

// 4. client (客户端工具,强制跳过依赖)
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --force --nodeps

// 5. server (服务端主程序,强制跳过依赖)
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --force --nodeps

// 6. 验证是否安装成功
rpm -qa | grep mysql

安装完毕后,可以通过执行上述第6条命令检查已安装的组件列表。

初始化配置:启动、排错与修改密码

第7步:启动 MySQL 服务

动作:执行 systemctl start mysqld.service 或 systemctl start mysql 启动服务。

第8步:处理常见启动失败报错

如果在第7步出现 Data Dictionary upgrade from MySQL 5.7 in progress... 类似的错误,通常是之前的 MariaDB 或旧版 MySQL 的数据目录(/var/lib/mysql)残留导致冲突。

修复措施:若确认数据不需要保留,可尝试清除该目录后再重新启动:rm -rf /var/lib/mysql/*。再次执行 systemctl start mysqld.service。

第9步:查找默认密码并重置

首次成功启动后,MySQL 会自动生成一个临时的 root 密码。

  • 查找临时密码:执行 grep password /var/log/mysqld.log,复制末尾生成的临时密码。
  • 登录:执行 mysql -u root -p 粘贴临时密码进入控制台。
  • 修改密码:登录后必须先修改密码才能进行其他操作。推荐使用 SQL 语法:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';。(注:MySQL 8.0 原生认证插件为 caching_sha2_password,但许多连接工具兼容性更好使用 mysql_native_password)。

以上就是 Linux 下安装 MySQL 8.0 的详细过程,涵盖了从环境清理、依赖安装到初始化的全部关键操作。更多关于 Linux 环境下的数据库运维资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。