CentOS 7安装MySQL 8.0的详细步骤是怎样的?

在基于Red Hat的Linux发行版中,CentOS因其稳定性和广泛的企业级应用而备受青睐,MySQL作为全球最受欢迎的开源关系型数据库管理系统,与CentOS的组合是构建动态网站和应用程序的经典后端架构,本文将详细介绍在CentOS系统上通过官方Yum仓库安装、配置并安全化MySQL的完整流程,旨在为开发者与系统管理员提供一个清晰、可靠的参考指南。

CentOS 7安装MySQL 8.0的详细步骤是怎样的?

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

在开始安装之前,确保系统环境干净是避免后续冲突的关键,确认您的CentOS版本,因为不同版本可能对应不同的软件仓库配置,您可以通过以下命令查看系统版本信息:

cat /etc/redhat-release

检查系统中是否已安装了MySQL或其分支(如MariaDB),如果存在旧版本或冲突的数据库软件,务必将其彻底卸载,使用以下命令进行查找和移除:

yum list installed | grep -i mysql
yum list installed | grep -i mariadb
# 如果存在,则使用 yum remove 命令卸载
# sudo yum remove mysql-community-server mariadb-libs

安装MySQL官方Yum仓库

为了确保能够获取到最新、最稳定的MySQL版本,推荐使用Oracle官方提供的Yum仓库,这简化了安装和未来的更新过程。

  1. 下载仓库安装包:访问MySQL官方Yum仓库下载页面,找到适用于您CentOS版本的RPM包链接,您可以使用wget命令直接下载,对于CentOS 7:

    sudo wget https://repo.mysql.com/mysql80-community-release-el7-5.noarch.rpm

    对于CentOS 8,链接会有所不同,请务必选择正确的版本。

  2. 安装仓库包:下载完成后,使用yum本地安装该RPM包,此操作会将MySQL仓库信息添加到您的系统中。

    sudo yum localinstall mysql80-community-release-el7-5.noarch.rpm

安装MySQL服务器

仓库配置完成后,安装MySQL服务器本身变得非常简单,只需执行一条yum命令即可。

sudo yum install mysql-community-server

此命令会自动处理所有依赖关系,并从官方仓库下载MySQL Community Server的最新稳定版进行安装,安装过程可能需要一些时间,具体取决于您的网络速度。

启动服务并进行初始安全配置

安装完毕后,MySQL服务默认是未启动的,您需要手动启动它,并设置为开机自启。

CentOS 7安装MySQL 8.0的详细步骤是怎样的?

# 启动MySQL服务
sudo systemctl start mysqld
# 设置MySQL服务为开机自启
sudo systemctl enable mysqld

MySQL在首次启动时,会为root用户生成一个临时的随机密码,并记录在日志文件中,您需要找到这个密码才能进行首次登录。

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

命令的输出会包含一串类似 root@localhost: <临时密码> 的文本,复制这个临时密码。

随后,运行MySQL自带的安全配置脚本,这是保护数据库安全的重要一步。

sudo mysql_secure_installation

该脚本会引导您完成一系列安全设置,交互过程如下表所示:

提示 建议操作 说明
Enter password for user root: 粘贴刚才复制的临时密码 使用临时密码登录
New password: 设置您的新root密码 新密码需符合强度要求(大小写、数字、特殊字符)
Re-enter new password: 再次输入新密码 确认密码
Change the password for root? n 通常已在上一环节更改,无需再次更改
Remove anonymous users? y 强烈建议移除,消除安全隐患
Disallow root login remotely? y 禁止root用户从远程登录,增强安全性
Remove test database and access to it? y 移除默认的测试数据库
Reload privilege tables now? y 立即应用所有权限更改

登录验证与基础配置

完成安全配置后,您就可以使用新设置的密码登录MySQL了。

mysql -u root -p

输入密码后成功进入MySQL命令行界面,即可执行SQL语句,您可以通过以下命令验证安装:

SHOW DATABASES;
SELECT VERSION();

为了更好地支持中文等多字节字符,建议将默认字符集设置为utf8mb4,您可以通过编辑MySQL配置文件/etc/my.cnf来实现,在[mysqld][client]部分添加以下内容:

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4

修改后,重启MySQL服务使配置生效:

sudo systemctl restart mysqld

配置防火墙(可选)

如果需要从其他服务器远程访问此MySQL数据库,您必须开放CentOS系统防火墙的默认3306端口。

CentOS 7安装MySQL 8.0的详细步骤是怎样的?

# 永久开放MySQL服务(端口3306)
sudo firewall-cmd --permanent --add-service=mysql
# 重新加载防火墙规则
sudo firewall-cmd --reload

您还需要在MySQL中为特定IP或所有IP()创建具有相应权限的远程用户。


相关问答 FAQs

问题1:安装过程中提示 “GPG key check failed” 或类似签名验证失败,该如何处理?
解答:这个问题通常是因为系统未能验证MySQL官方仓库的GPG签名,最安全的解决方法是手动导入MySQL的GPG公钥,您可以使用以下命令:

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2025

导入公钥后,再次执行yum install mysql-community-server命令即可,如果问题依旧存在,作为临时解决方案,您可以在安装命令后添加--nogpgcheck参数来跳过GPG检查,但这会降低安全性,不推荐在生产环境中使用。

问题2:如果不慎忘记了MySQL的root密码,应该如何重置?
解答:重置root密码需要以“安全模式”启动MySQL,步骤如下:

  1. 停止MySQL服务sudo systemctl stop mysqld
  2. 跳过权限验证启动sudo mysqld_safe --skip-grant-tables &
  3. 无密码登录mysql -u root
  4. 重置密码:在MySQL命令行中执行:
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY '您的新密码';

    请确保新密码符合当前的密码策略。

  5. 正常重启服务:使用kill命令结束安全模式的进程,然后正常启动服务:
    sudo pkill mysqld
    sudo systemctl start mysqld

    之后,您就可以使用新密码登录了。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-13 11:54
下一篇 2025-10-13 11:56

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信