Linux系统如何通过yum命令安装MySQL数据库?

Linux系统中使用yum包管理器安装MySQL是常见且便捷的方式,尤其适用于基于Red Hat Enterprise Linux(RHEL)、CentOS等发行版的系统,以下是详细的安装步骤、配置说明及注意事项,帮助用户顺利完成MySQL的安装与初始化配置。

linux如何用yum安装mysql

安装前的准备工作

在开始安装MySQL之前,需确保系统满足以下基本条件:

  1. 系统版本支持:当前MySQL官方yum仓库支持RHEL/CentOS 7、8、9以及Oracle Linux、Rocky Linux等同源系统,可通过cat /etc/redhat-release命令查看系统版本。
  2. 网络连接:yum安装需要从官方仓库下载依赖包,确保服务器能访问外网或已配置本地yum源。
  3. root权限:安装软件及系统配置需要超级用户权限,建议使用sudo -i切换至root用户,或使用sudo执行命令。
  4. 清理旧版本:若系统中已安装MySQL或MariaDB(MySQL的分支),需先卸载避免冲突,执行以下命令:
    yum remove mariadb-server mariadb-client mysql-community-server mysql-community-client  # 卸载可能存在的旧版本

添加MySQL官方Yum仓库

MySQL官方提供了稳定的yum仓库,需先下载并添加仓库配置文件,根据系统版本选择对应的rpm包:

  • CentOS 7
    yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-10.noarch.rpm -y
  • CentOS 8
    yum localinstall https://dev.mysql.com/get/mysql80-community-release-el8-10.noarch.rpm -y
  • CentOS 9
    dnf install https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm -y

添加仓库后,可通过以下命令验证仓库是否生效:

yum repolist enabled | grep ".*" | grep ".*.*"

若输出中包含MySQL 8.0 Community等字样,说明仓库添加成功,若需切换MySQL版本(如从8.0降至5.7),可通过修改/etc/yum.repos.d/mysql-community-*.repo文件中的enabled=0enabled=1参数实现。

安装MySQL服务器

仓库添加成功后,即可使用yum安装MySQL核心组件,推荐安装以下包:

  • mysql-community-server:MySQL服务器主程序
  • mysql-community-client:MySQL客户端工具
  • mysql-community-common:MySQL通用文件(如配置文件、头文件)
  • mysql-community-libs:MySQL依赖库

执行以下命令一键安装:

yum install mysql-community-server mysql-community-client mysql-community-common mysql-community-libs -y

安装过程中,yum会自动解决依赖关系并下载所需包,若提示“GPG密钥验证失败”,可执行以下命令导入MySQL官方GPG密钥(或使用--nogpgcheck跳过验证,但不推荐):

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

启动MySQL服务并设置开机自启

安装完成后,需启动MySQL服务并配置开机自动启动,确保服务持久运行:

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

若服务启动失败,可通过journalctl -u mysqld查看错误日志,常见问题包括端口占用(默认3306)、配置文件语法错误等。

linux如何用yum安装mysql

获取并修改root初始密码

MySQL 8.0安装后,会为root用户生成一个临时密码(仅限首次安装),需及时修改以提高安全性。

获取临时密码

临时密码存储在MySQL错误日志中,可通过以下命令提取:

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

输出示例:A temporary password is generated for root@localhost: abc123!@#,其中abc123!@#即为临时密码。

登录MySQL并修改密码

使用临时密码登录MySQL:

mysql -u root -p

输入临时密码后,执行以下命令修改密码(密码需包含大小写字母、数字和特殊字符,且长度至少8位):

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!@#';
FLUSH PRIVILEGES;

运行安全配置向导

MySQL提供了mysql_secure_installation脚本,用于快速完成安全配置,包括:

  • 移除匿名用户
  • 禁止root远程登录
  • 删除测试数据库
  • 重新加载权限表

执行以下命令启动向导:

mysql_secure_installation

根据提示操作,推荐选择以下配置:

  • 设置密码复杂度策略:y(启用)
  • 移除匿名用户:y
  • 禁止root远程登录:y(若需远程管理,可后续手动配置)
  • 删除测试数据库:y
  • 重新加载权限表:y

验证安装与基础配置

验证安装

登录MySQL后,执行以下命令查看版本信息:

linux如何用yum安装mysql

SELECT VERSION();

或通过客户端工具(如Navicat、DBeaver)连接测试。

配置字符集与存储引擎

MySQL默认字符集为utf8mb4(支持Emoji),存储引擎为InnoDB,若需修改配置,编辑/etc/my.cnf文件:

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
default-storage-engine=InnoDB

保存后重启MySQL服务:

systemctl restart mysqld

开放防火墙端口(可选)

若服务器开启了防火墙(如firewalld),需允许3306端口访问:

firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

常见配置参数说明

参数 默认值 作用
port 3306 MySQL服务监听端口
bind-address 0.0.1 绑定IP地址,0.0.0允许所有IP访问
max_connections 151 最大连接数
innodb_buffer_pool_size 128M InnoDB缓冲池大小,建议设置为物理内存的50%-70%

相关问答FAQs

问题1:安装MySQL时提示“No package mysql-community-server available”,如何解决?
解答:通常是由于未正确添加MySQL官方yum仓库或系统版本不兼容导致,可执行以下步骤排查:

  1. 检查系统版本是否支持(如CentOS 6已停止支持,无法安装MySQL 8.0);
  2. 重新添加官方yum仓库:rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-7.noarch.rpm
  3. 清除yum缓存:yum clean all,后重新尝试安装。

问题2:MySQL启动失败,日志显示“Can’t start server: can’t create PID file”怎么办?
解答:该错误通常是由于PID文件目录权限不足或文件冲突导致,可按以下步骤解决:

  1. 检查PID文件目录权限:ls -l /var/run/mysqld/,若无权限,执行chown -R mysql:mysql /var/run/mysqld/
  2. 若目录不存在,创建并授权:mkdir -p /var/run/mysqld && chown -R mysql:mysql /var/run/mysqld/
  3. 检查是否有mysqld进程残留:ps aux | grep mysqld,若有则强制终止:kill -9 进程ID,后重新启动服务。

通过以上步骤,即可完成Linux系统中MySQL的yum安装与基础配置,后续可根据业务需求调整性能参数、开启复制或集群功能,确保MySQL稳定运行。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/26683.html

(0)
酷番叔酷番叔
上一篇 2025年9月20日 07:30
下一篇 2025年9月20日 07:44

相关推荐

  • Linux系统调优如何针对CPU、内存、磁盘、网络进行优化?

    Linux系统调优是提升服务器性能、稳定性和资源利用率的关键工作,需结合实际业务场景从CPU、内存、磁盘、网络、内核参数等多维度综合优化,以下是具体调优方向及操作方法:CPU调优CPU调优核心在于均衡负载、减少上下文切换和提升计算效率,首先通过top、htop、vmstat等工具监控CPU使用率,若user(用……

    2025年9月18日
    12500
  • Linux终端如何下载文件?命令行操作步骤有哪些?

    Linux 终端作为 Linux 系统的核心交互工具,提供了高效、灵活的文件下载能力,无论是下载单个文件、整个目录,还是通过包管理器安装软件,终端都能通过命令行快速完成,本文将详细介绍 Linux 终端中常用的下载方法,涵盖通用工具、包管理器及源码下载等场景,帮助用户根据需求选择合适的下载方式,通用下载工具:w……

    2025年9月19日
    14300
  • Virtual Console能做什么?

    在Linux系统中,控制台(Console)是用户与操作系统内核交互的核心接口,常用于系统管理、故障恢复或运行命令行程序,它与终端(Terminal)的区别在于:控制台直接关联系统物理设备(如显示器、键盘),而终端(包括图形终端模拟器)是通过软件模拟的输入输出环境,以下是几种在Linux下产生控制台的详细方法……

    2025年7月24日
    16200
  • 2025无光驱如何安装Linux?

    现代电脑逐渐淘汰光驱,但这并不妨碍你安装 Linux 系统,以下是 4 种无需光驱的安装方法,涵盖从新手到进阶需求,所有步骤均经过实测验证,U 盘安装(推荐首选)适用场景:单系统/双系统安装,99% 用户适用所需工具:≥8GB 的 U 盘、镜像写入工具(如 Rufus 或 BalenaEtcher)步骤详解:下……

    2025年7月27日
    17000
  • Linux如何添加自定义路由表?操作步骤与方法详解

    在Linux系统中,路由表是内核转发数据包的核心依据,它记录了目标网络与下一跳网关、出接口等信息的映射关系,正确配置路由表能实现跨网段通信、负载均衡、多出口策略等功能,本文将详细介绍Linux系统中添加路由表的方法,包括临时配置、永久配置及高级策略路由,理解Linux路由表基础Linux系统默认维护多个路由表……

    2025年9月23日
    12200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信