如何在centos7上一步到位安装配置好mysql?

在CentOS系统上安装MySQL数据库是搭建Web应用、数据服务等环境的基础步骤之一,相较于直接下载源码包编译安装,使用官方的Yum仓库进行安装是最为推荐的方式,它不仅过程简洁,而且便于后续的版本管理和更新,本教程将详细介绍在CentOS 7/8系统上通过Yum仓库安装MySQL 8.0版本的全过程,并涵盖必要的初始安全配置。

如何在centos7上一步到位安装配置好mysql?

前期准备工作

在开始安装之前,确保您的系统满足以下基本条件,并完成必要的清理工作,以避免潜在的冲突。

您需要拥有一台已联网的CentOS服务器,并且拥有一个具有sudo权限的普通用户账户,不建议直接使用root用户进行日常操作。

检查系统中是否已安装了MariaDB或MySQL的旧版本,CentOS 7的默认源中包含了MariaDB,它是MySQL的一个分支,但两者不能共存,如果已存在,必须先将其卸载,可以使用以下命令进行检查和卸载:

# 检查是否已安装mariadb
rpm -qa | grep mariadb
# 如果存在,则使用以下命令卸载
sudo yum remove mariadb-libs-*

执行完卸载操作后,系统就处于一个干净的状态,可以开始MySQL的正式安装了。

安装MySQL服务器

整个安装过程分为几个清晰的步骤:添加官方仓库、安装MySQL服务、启动服务并进行安全初始化。

第一步:添加MySQL官方Yum仓库

MySQL官方提供了针对不同Linux发行版的Yum仓库配置包,我们首先需要下载并安装这个配置包,这样yum才能知道从哪里获取MySQL软件。

对于CentOS 7系统,下载并安装仓库配置包的命令如下:

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

对于CentOS 8系统,则应使用对应的版本包:

sudo yum localinstall https://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm

安装此包后,会在/etc/yum.repos.d/目录下创建两个仓库文件:mysql-community.repomysql-community-source.repo

第二步:安装MySQL社区服务器

如何在centos7上一步到位安装配置好mysql?

添加好仓库后,就可以使用yum命令来安装MySQL服务器了,执行以下命令:

sudo yum install mysql-community-server

在安装过程中,yum可能会提示您导入MySQL的GPG公钥以验证软件包的完整性,这是正常的安全检查步骤,输入y并回车确认即可。

第三步:启动MySQL服务并设置开机自启

安装完成后,MySQL服务并不会自动启动,我们需要使用systemctl来手动启动它,并将其设置为开机自启动,确保服务器重启后数据库也能正常运行。

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

您可以使用sudo systemctl status mysqld来检查服务的运行状态,确保其显示为active (running)

初始安全配置

MySQL 8.0在首次启动时会为root用户生成一个临时的随机密码,并记录在日志文件中,我们需要找到这个密码,然后通过安全配置脚本来进行一系列重要的安全设置。

第一步:获取临时密码

临时密码保存在/var/log/mysqld.log文件中,可以使用以下命令快速查询:

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

命令的输出结果中,最后一行冒号后面的字符串就是初始密码,请务必记录下来,稍后使用。

第二步:运行安全配置脚本

MySQL提供了一个交互式的安全配置脚本mysql_secure_installation,它能帮助我们快速提升数据库的安全性。

如何在centos7上一步到位安装配置好mysql?

sudo mysql_secure_installation

运行脚本后,它会依次询问您以下几个关键问题:

  1. 验证密码组件:询问是否启用密码强度验证策略(Validate Password组件),建议选择y启用,并可以根据需求选择密码强度等级(0-低,1-中,2-高)。
  2. 更改root密码:输入之前获取的临时密码登录,然后设置一个新的root用户密码,新密码必须符合您之前设置的密码策略。
  3. 移除匿名用户:询问是否移除匿名用户账户,为了安全,选择y
  4. 禁止root远程登录:询问是否禁止root用户从远程主机登录,通常建议选择y,以防止暴力破解,如果确实需要远程管理,也可以选择n,但必须确保密码足够强壮。
  5. 移除测试数据库:询问是否移除默认的test数据库,该数据库对所有用户开放,存在安全风险,选择y移除。
  6. 重新加载权限表:询问是否立即应用以上所有更改,选择y使配置生效。

完成以上步骤后,MySQL的安装和基础安全配置就全部完成了,您现在可以使用新设置的密码通过mysql -u root -p命令登录数据库了。

防火墙配置

如果您的服务器开启了防火墙(默认通常是开启的),并且需要从其他机器远程访问MySQL数据库,那么必须开放MySQL的默认端口3306

# 开放3306端口(临时)
sudo firewall-cmd --add-port=3306/tcp
# 开放3306端口(永久)
sudo firewall-cmd --add-port=3306/tcp --permanent
# 重载防火墙配置使永久规则生效
sudo firewall-cmd --reload

至此,一个功能完整且相对安全的MySQL环境已在您的CentOS系统上部署完毕。


相关问答FAQs

问题1:如何更改MySQL的默认数据目录?

答:更改MySQL的默认数据目录(通常为/var/lib/mysql)是一个常见的需求,特别是当数据盘空间不足时,操作步骤如下:

  1. 停止MySQL服务sudo systemctl stop mysqld
  2. 创建新目录并迁移数据:假设新目录为/data/mysql,首先创建它:sudo mkdir -p /data/mysql,将原目录下的所有文件复制过去:sudo cp -a /var/lib/mysql/* /data/mysql/(使用-a参数可以保留权限和所有者信息)。
  3. 修改配置文件:编辑MySQL的配置文件/etc/my.cnf,找到[mysqld]部分,将datadir=/var/lib/mysql修改为datadir=/data/mysql,同时修改socket路径(如果需要)。
  4. 设置SELinux上下文:这是CentOS系统至关重要的一步,如果未正确设置,MySQL将无法访问新目录,执行:sudo semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?",然后运行sudo restorecon -Rv /data/mysql以应用新的安全上下文。
  5. 启动服务并验证sudo systemctl start mysqld,服务启动后,登录MySQL检查@@datadir变量是否已更新:SHOW VARIABLES LIKE 'datadir';

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

答:忘记root密码时,可以通过特殊模式重置,步骤如下:

  1. 停止MySQL服务sudo systemctl stop mysqld
  2. 以跳过权限验证模式启动MySQL:执行命令 sudo mysqld_safe --skip-grant-tables &,这会以一个不检查权限的模式启动MySQL服务。
  3. 无密码登录:此时可以直接使用mysql -u root命令登录,无需密码。
  4. 重置密码:在MySQL命令行中依次执行:
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
    (注意:MySQL 8.0中必须使用ALTER USER命令,并且新密码要符合密码策略)。
  5. 恢复正常模式:退出MySQL,然后关闭跳过权限验证的进程(通常可以用sudo pkill mysqld),最后正常启动MySQL服务:sudo systemctl start mysqld,现在您就可以用新密码登录了。

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

(0)
热舞的头像热舞
上一篇 2025-10-16 18:06
下一篇 2025-10-16 18:09

相关推荐

  • 如何根据服务器配置需求正确设置分机?

    根据提供的内容,以下是服务器和分机配置要求的摘要:,,服务器应具备高性能处理器、足够内存和大容量存储空间,以确保稳定运行。分机设置需考虑操作系统兼容性、网络连接稳定性和安全措施,以满足不同应用场景的需求。

    2024-08-05
    004
  • 如何有效设置服装店的网站模板以提升顾客体验?

    服装店网站模板是一种设计好的网页框架,它可以帮助商家快速搭建起一个具有专业外观的在线商店。设置时通常包括选择主题、自定义颜色和布局、添加品牌元素以及集成支付和物流功能。

    2024-07-27
    005
  • Linux CentOS如何挂载新硬盘并设置开机自动挂载?

    在Linux系统中,将一块新的硬盘或存储设备接入系统并使其可用,需要经过一个被称为“挂载”的过程,对于广泛使用的服务器发行版CentOS而言,掌握硬盘挂载是系统管理的一项基础且核心的技能,本文将详细介绍在CentOS系统中,从识别新硬盘到实现开机自动挂载的完整流程,确保操作过程清晰、安全、高效,第一步:识别新硬……

    2025-10-03
    002
  • 服装网站设计_商品搜索

    在服装网站设计中,商品搜索功能应简洁易用,支持关键词、分类、颜色等多种筛选方式。搜索结果需清晰展示商品图片、价格等关键信息,方便用户快速找到心仪商品。

    2024-07-21
    0024

发表回复

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

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信