CentOS安装MySQL数据库的详细步骤是什么?

在服务器运维和网站开发的领域中,CentOS 因其稳定性和与 Red Hat Enterprise Linux (RHEL) 的兼容性而备受青睐,而 MySQL 则是全球最受欢迎的开源关系型数据库管理系统之一,在 CentOS 系统上部署 MySQL 服务是一项非常常见且重要的任务,本文将详细阐述在 CentOS 系统上安装、配置和初步使用 MySQL 数据库的完整流程,旨在为系统管理员和开发者提供一份清晰、可操作的指南。

CentOS安装MySQL数据库的详细步骤是什么?

准备工作

在开始安装之前,进行必要的准备工作可以确保后续过程的顺利,并避免潜在的冲突,这一阶段主要涉及系统检查和环境清理。

确认您的 CentOS 版本,因为 CentOS 7 和 CentOS 8/Stream 在软件仓库管理上存在差异,这会影响我们选择安装方式,您可以通过以下命令查看系统版本:

cat /etc/centos-release

检查系统中是否已经安装了 MariaDB 或 MySQL 的旧版本,MariaDB 是 MySQL 的一个分支,在 CentOS 7 等版本中可能作为默认数据库被预装,为了避免端口冲突或库文件版本不一致等问题,建议先将其卸载,可以使用以下命令进行查找和卸载:

# 查找已安装的 mariadb 或 mysql 包
rpm -qa | grep -i mariadb
rpm -qa | grep -i mysql
# 如果找到相关包(mariadb-libs-5.5.68-1.el7.x86_64),则使用 yum 移除
sudo yum remove mariadb-libs-5.5.68-1.el7.x86_64

更新系统软件包到最新状态,并安装一些基础工具,如 wget,这将用于下载 MySQL 的官方仓库配置文件。

sudo yum update -y
sudo yum install wget -y

安装 MySQL Server

我们推荐通过 MySQL 官方提供的 Yum 仓库来安装,这样可以确保获取到最新、最稳定的版本,并且便于后续的更新和管理。

步骤 1:下载并安装 MySQL Yum 仓库

访问 MySQL 官方 Yum 仓库下载页面,找到适合您系统版本的仓库配置包(rpm 文件),对于 CentOS 7,通常使用 el7 版本,使用 wget 命令直接下载:

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

下载完成后,使用 rpm 命令安装这个仓库配置包:

sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm

执行此命令后,MySQL 的 Yum 仓库信息将被添加到系统中,位于 /etc/yum.repos.d/ 目录下。

步骤 2:选择并安装 MySQL 版本

默认情况下,启用的仓库可能是最新的 MySQL 8.0 版本,如果您需要安装其他版本(为了兼容旧项目而需要 MySQL 5.7),可以手动编辑仓库配置文件。

sudo vi /etc/yum.repos.d/mysql-community.repo

在文件中,您会看到不同版本的仓库配置,通过设置 enabled=0 来禁用不需要的版本,设置 enabled=1 来启用您想要的版本,要安装 MySQL 5.7,您需要禁用 8.0 并启用 5.7。

CentOS安装MySQL数据库的详细步骤是什么?

配置好版本后,使用 yum 命令安装 MySQL 服务器,Yum 会自动处理所有依赖关系。

sudo yum install mysql-community-server -y

安装后配置与安全设置

安装完成后,MySQL 服务尚未启动,且 root 用户拥有一个临时的随机密码,我们需要进行一系列配置才能正式使用。

步骤 1:启动 MySQL 服务并设置开机自启

sudo systemctl start mysqld
sudo systemctl enable mysqld

步骤 2:获取临时 root 密码

对于 MySQL 5.7 及以上版本,初始密码会被记录在日志文件中,可以通过以下命令查找:

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

命令的输出会包含一串类似 A temporary password is generated for root@localhost: *aL?9d>k>3fS 的信息,其中的 *aL?9d>k>3fS 就是临时密码。

步骤 3:运行安全安装脚本

MySQL 提供了一个名为 mysql_secure_installation 的交互式脚本,用于引导您完成基本的安全设置,这是强烈推荐执行的步骤。

sudo mysql_secure_installation

脚本会依次提示您:

  1. 输入您刚刚找到的临时 root 密码。
  2. 设置新的 root 密码(密码必须符合强度要求,包含大小写字母、数字和特殊字符)。
  3. 是否移除匿名用户?(建议选择 Y
  4. 是否禁止 root 用户远程登录?(出于安全考虑,建议选择 Y,然后根据需要创建特定的远程用户)
  5. 是否移除 test 数据库?(建议选择 Y
  6. 是否重新加载权限表?(选择 Y 使更改立即生效)

通过回答这些问题,您可以快速地加固数据库的初始安全性。

下表小编总结了 mysql_secure_installation 脚本的主要功能:

功能选项 推荐操作 说明
设置 root 密码 Y 为超级管理员账户设置一个强密码
移除匿名用户 Y 删除无需密码即可登录的账户,消除安全隐患
禁止 root 远程登录 Y 防止攻击者直接尝试破解 root 账户,提升安全性
移除 test 数据库 Y 删除默认的测试数据库,生产环境通常不需要
重新加载权限表 Y 让以上所有安全配置立即生效

验证安装与基本操作

配置完成后,您就可以登录 MySQL 并进行基本操作了。

CentOS安装MySQL数据库的详细步骤是什么?

使用新设置的 root 密码登录:

mysql -u root -p

系统会提示输入密码,成功登录后,您将进入 MySQL 的命令行客户端,可以执行一些简单的 SQL 命令来验证:

-- 查看所有数据库
SHOW DATABASES;
-- 创建一个新数据库
CREATE DATABASE my_app_db;
-- 退出 MySQL 客户端
EXIT;

如果这些命令都能顺利执行,说明您的 MySQL 数据库已经成功安装并运行。

配置防火墙(可选)

如果您的应用部署在其他服务器上,需要远程连接到此 MySQL 服务器,那么必须在 CentOS 的防火墙中开放 MySQL 的默认端口 3306

# 开放 3306 端口
sudo firewall-cmd --permanent --add-port=3306/tcp
# 重新加载防火墙配置使更改生效
sudo firewall-cmd --reload

开放端口会增加服务器的安全风险,请确保您已经创建了具有适当权限的专用数据库用户,而不是直接使用 root 用户进行远程连接。


相关问答 FAQs

问题 1:在执行 yum install mysql-community-server 时,提示 GPG 密钥验证失败怎么办?

解答: 这是一个常见问题,通常是因为系统无法验证 MySQL 软件包的签名,最安全且推荐的方法是导入 MySQL 官方的 GPG 密钥,您可以尝试执行以下命令来导入:

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

导入密钥后,再次运行安装命令即可,如果问题依旧存在,作为临时解决方案(不推荐用于生产环境),可以在安装命令后添加 --nogpgcheck 参数来跳过签名检查,但这会带来一定的安全风险。

问题 2:我忘记了 MySQL 的 root 密码,如何重置它?

解答: 忘记 root 密码是数据库管理员可能遇到的棘手问题,但可以通过以下步骤安全地重置:

  1. 停止 MySQL 服务:
    sudo systemctl stop mysqld
  2. 以“安全模式”启动 MySQL: 这个模式会跳过权限表验证。
    sudo mysqld_safe --skip-grant-tables &
  3. 无密码登录 MySQL:
    mysql -u root
  4. 重置密码: 在 MySQL 命令行中,依次执行以下 SQL 命令(请将 'YourNewPassword' 替换为您的新密码):
    -- 切换到 mysql 系统数据库
    USE mysql;
    -- 更新 root 用户的密码(注意,MySQL 8.0+ 的密码字段是 authentication_string)
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';
    -- 刷新权限,使更改生效
    FLUSH PRIVILEGES;
    -- 退出
    EXIT;
  5. 重启 MySQL 服务: 停止安全模式进程,然后正常启动服务。
    sudo pkill mysqld
    sudo systemctl start mysqld

    完成以上步骤后,您就可以使用新设置的密码登录了。

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

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

相关推荐

发表回复

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

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信