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定时任务?

    查看定时任务的两种主要工具Linux系统通过 cron 和 at 管理定时任务:cron:处理周期性任务(如每天、每周),at:处理一次性任务(如2小时后执行),查看cron定时任务查看当前用户的cron任务crontab -l直接列出当前用户的所有定时任务,若显示 no crontab for [user……

    2025年6月30日
    11300
  • Linux下删除软件有哪些方法?彻底删除及残留清理怎么操作?

    Linux系统以其高度的可定制性和灵活性受到广泛欢迎,而软件管理是日常使用中的重要环节,与Windows系统的“控制面板卸载”不同,Linux通过包管理器或手动操作来删除软件,具体方法取决于软件的安装方式和系统使用的发行版,本文将详细介绍Linux下删除软件的多种方法,涵盖主流包管理器命令、源码编译安装软件的清……

    2025年8月29日
    8600
  • Linux下如何测试PHP安装成功?

    在Linux系统上完成PHP安装后,需通过多维度测试验证安装是否成功,避免因配置错误、模块缺失或环境不兼容导致后续应用无法运行,测试过程需覆盖基础版本检查、配置文件验证、扩展模块状态、Web服务器集成及核心功能可用性,以下为详细测试步骤及方法,命令行基础测试:验证PHP核心安装检查PHP版本信息PHP安装成功后……

    2025年9月27日
    5400
  • Linux静态库动态库选哪个?

    静态库(.a)生成步骤编译源码为目标文件gcc -c source1.c source2.c -Wall -O2 # -O2优化 -Wall显示警告生成 source1.o 和 source2.o 文件,打包为静态库ar rcs libmylib.a source1.o source2.o # rcs参数确保覆……

    2025年8月5日
    9200
  • Linux如何查看进程ID?

    ps 命令(最常用)作用:列出当前进程信息,常用组合:ps aux | grep [进程名] # 查看特定进程的PIDps -ef | grep [进程名] # 完整格式列表示例:查找Nginx进程的PIDps aux | grep nginx输出示例:root 1234 0.0 0.1 12345 6789……

    2025年7月15日
    11900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信