类别:SQL数据库 / 日期:2026-06-11 / 浏览:55 / 评论:0

在 CentOS 7 上安装 MySQL 8.0.42,主要有两种方式:在线安装(通过 YUM 仓库)和离线安装(通过 RPM 包或二进制包)。如果你的服务器能联网,推荐使用在线安装方式,它简单且能自动处理依赖关系。如果服务器处于内网环境,则需选择离线安装。

下面为你详细介绍这两种方法。


🔌 方案一:在线安装(YUM仓库)

这种方法最为直接,适合服务器可以连接互联网的情况。


添加 MySQL Yum 仓库

首先,需要下载并安装官方的 Yum 仓库配置文件。在你的 CentOS 7 终端执行以下命令:

# 下载MySQL Yum仓库包
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
# 安装仓库包
sudo rpm -ivh mysql80-community-release-el7-7.noarch.rpm

注:如果没有 wget 命令,可以先执行 sudo yum install -y wget 进行安装。


安装 MySQL 服务器

添加仓库后,就可以使用 yum 命令来安装 MySQL 了。yum 会自动处理所有依赖关系。

# 安装MySQL服务器,但 yum 可能会提示找不到该版本,因为仓库源通常会指向最新的小版本。
sudo yum install -y mysql-community-server-8.0.42
#注:这种方法会安装 MySQL 8.0 的最新版本。
sudo yum install -y mysql-community-server


启动并验证服务

安装完成后,启动 MySQL 服务,并设置开机自启。

# 启动MySQL服务
sudo systemctl start mysqld
# 设置MySQL开机自启
sudo systemctl enable mysqld
# 查看MySQL运行状态
sudo systemctl status mysqld

看到 active (running) 字样,表示服务已成功运行。


📦 方案二:离线安装(RPM包)

当服务器无法连接互联网时,需要先在联网的电脑上下载好安装包,再上传到服务器手动安装。


准备工作:下载安装包

访问 MySQL 官方下载存档

产品版本 (Product Version): 选择 8.0.42。

操作系统 (Operating System): 选择 Red Hat Enterprise Linux / Oracle Linux。

操作系统版本 (OS Version): 选择 Red Hat Enterprise Linux 7。

下载 mysql-8.0.42-1.el7.x86_64.rpm-bundle.tar 这个合集包。


上传并解压

将下载好的 tar 包上传到 CentOS 7 服务器,例如放到 /usr/local/ 目录下,然后解压。

# 进入存放目录
cd /usr/local
# 解压tar包,得到多个rpm文件
tar -xvf mysql-8.0.42-1.el7.x86_64.rpm-bundle.tar

卸载冲突软件

CentOS 7 自带的 mariadb-libs 会和 MySQL 冲突,需要先卸载。

# 检查是否已安装mariadb
rpm -qa | grep mariadb
# 如果存在,则卸载(--nodeps 忽略依赖)
sudo rpm -e --nodeps mariadb-libs

安装 RPM 包

使用 rpm 命令安装 MySQL。必须严格按照以下顺序安装,因为包之间存在依赖关系。

# 按顺序安装
sudo rpm -ivh mysql-community-common-8.0.42-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-client-plugins-8.0.42-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-8.0.42-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-client-8.0.42-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-icu-data-files-8.0.42-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-server-8.0.42-1.el7.x86_64.rpm


⚙️ 后续通用配置(两种方式均适用)

无论通过哪种方式安装,安装完成后都需要进行以下初始化配置。


启动 MySQL 服务

sudo systemctl start mysqld
sudo systemctl enable mysqld


获取临时密码

MySQL 首次启动时会自动生成一个临时密码,需要从日志文件中获取。

sudo grep 'temporary password' /var/log/mysqld.log

命令输出结果类似:...A temporary password is generated for root@localhost: your_temp_password,其中 your_temp_password 就是临时密码。


登录并修改密码

使用临时密码登录 MySQL,并立即修改密码。MySQL 8.0 默认启用了密码强度验证插件,新密码需要至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,且长度不低于8位。

# 登录MySQL
mysql -u root -p
# 输入临时密码后进入MySQL命令行,执行以下SQL修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Your_New_Password123!';
FLUSH PRIVILEGES;


(可选)配置远程访问

如果需要从其他机器连接这个 MySQL 数据库,可以创建一个允许远程访问的用户,或在防火墙中开放 3306 端口。

# 登录MySQL后执行,创建一个用户名为 'user_remote',密码为 'RemotePass123!' 的用户,并授予所有权限
CREATE USER 'user_remote'@'%' IDENTIFIED WITH mysql_native_password BY 'RemotePass123!';
GRANT ALL PRIVILEGES ON *.* TO 'user_remote'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

注:使用 % 表示允许任何 IP 连接。为安全起见,生产环境建议将其替换为具体的应用服务器 IP。


配置防火墙(如需远程访问)

# 开放3306端口
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

MySQL 安装完成后通常占用约 1-2GB 磁盘空间,建议提前预留足够容量。


打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章