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复制命令让效率翻倍?

    核心命令:cp(复制文件/目录)基本语法:cp [选项] 源文件 目标路径常用选项:选项作用示例-r递归复制目录(必需)cp -r dir1/ dir2/-i覆盖前提示确认(防误删)cp -i file.txt backup/-v显示复制详情(可视化过程)cp -v *.jpg /photos/-u仅复制更新的……

    2025年7月25日
    8000
  • Linux cat命令如何读取文件指定行数?

    Linux系统中的cat命令是常用的文本查看工具,其核心功能是连接(concatenate)并显示文件内容,默认情况下会输出整个文件的所有行,在实际操作中,我们常需要只查看文件的指定行(如第3行、第5-10行等),而cat命令本身并不支持直接按行号筛选,需结合其他文本处理工具实现,本文将详细介绍通过cat搭配s……

    2025年9月28日
    4600
  • 如何在linux安装操作系统

    制作可启动的U盘或光盘,设置BIOS从其启动,按

    2025年8月15日
    5800
  • U盘如何安装Linux系统?新手详细步骤教程指南

    将Linux系统安装到U盘是一种灵活便携的方式,既能作为随身系统使用,也能用于体验Linux或系统修复,以下是详细的操作步骤,从准备工作到安装完成的全流程,帮助你顺利完成操作,U盘安装Linux系统准备工作在开始前,需确保硬件和软件准备到位,避免中途出现问题,以下是关键准备工作清单:项目具体要求备注U盘容量建议……

    2025年8月22日
    6300
  • 如何正确刻录Linux系统U盘以实现系统安装操作步骤?

    刻录Linux系统U盘安装系统是用户自定义安装操作系统的重要方式,尤其适合需要体验不同Linux发行版或进行系统重装的场景,整个过程需注意硬件兼容性、镜像完整性及操作规范性,以下是详细步骤和注意事项:准备工作在开始刻录前,需确保以下硬件和软件准备就绪:硬件要求U盘:建议容量8GB以上(部分Linux镜像如Ubu……

    2025年9月19日
    4700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信