在 CentOS 中安装 MySQL 的过程与问题解决方案

发布于:2025-07-29 ⋅ 阅读:(21) ⋅ 点赞:(0)

MySQL 是一款广泛使用的开源关系型数据库管理系统,在 CentOS 系统中安装 MySQL 是很多开发者和运维人员常做的工作。下面将详细介绍安装过程以及可能遇到的问题和解决方案。

一、安装前的准备工作

在安装 MySQL 之前,需要做好一些准备工作,以确保安装过程顺利进行。

  • 检查系统版本:确认 CentOS 的版本,不同版本在安装 MySQL 时可能会有一些差异。可以使用 cat /etc/centos-release 命令查看系统版本。
  • 更新系统:运行  yum -y update  命令更新系统软件包,保证系统处于最新状态,减少兼容性问题。
  • 检查是否已安装 MySQL 相关软件:使用   rpm -qa | grep mysql  命令查看,如果有安装则使用   rpm -e --nodeps   软件名命令卸载,避免冲突。

二、MySQL 的安装过程

(一)选择安装方式

MySQL 在 CentOS 上有多种安装方式,常用的有通过 yum 源安装和源码编译安装。这里推荐使用 yum 源安装,操作相对简单。

(二)添加 MySQL yum 源

  • 安装 rpm 包:运行  rpm -ivh mysql80-community-release-el7-3.noarch.rpm  ,安装完成后会在/etc/yum.repos.d/目录下生成相关的 yum 源配置文件。

(三)选择 MySQL 版本

如果需要安装特定版本的 MySQL,可以修改 yum 源配置文件。例如,对于 MySQL 5.7,编辑/etc/yum.repos.d/mysql-community.repo文件,将 MySQL 8.0 的 enabled 设置为 0,将 MySQL 5.7 的 enabled 设置为 1。

(四)安装 MySQL

运行  yum -y install mysql-community-server  命令开始安装 MySQL。安装过程中,yum 会自动处理依赖关系。

三、MySQL 的配置与启动

(一)启动 MySQL 服务

安装完成后,使用systemctl start mysqld命令启动 MySQL 服务。可以通过  systemctl status mysqld  命令查看服务状态,如果显示 “active (running)” 则表示启动成功。

(二)设置开机自启动

为了让 MySQL 在系统重启后自动启动,运行  systemctl enable mysqld  命令。

(三)获取初始密码

MySQL 安装完成后,会生成一个初始密码,存放在/var/log/mysqld.log文件中。可以使用  grep 'temporary password' /var/log/mysqld.log   命令查看初始密码。

(四)登录 MySQL 并修改初始密码

  • 使用初始密码登录   MySQL:mysql -u root -p,然后输入初始密码。
  • 修改密码:登录后,需要立即修改初始密码,否则无法执行其他操作。可以使用ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';命令修改密码。注意,MySQL 对密码有一定要求,通常需要包含大小写字母、数字和特殊字符。

四、可能遇到的问题及解决方案

(一)yum 源安装时提示 “找不到包”

  • 原因:可能是 yum 源配置不正确或者没有启用对应的 MySQL 版本。
  • 解决方案:检查/etc/yum.repos.d/mysql-community.repo文件中对应的 MySQL 版本的 enabled 是否设置为 1,然后运行yum clean all和yum makecache命令刷新 yum 缓存。

(二)启动 MySQL 服务失败

  • 原因:可能是端口被占用、配置文件错误等。
  • 解决方案:
    • 检查端口是否被占用:使用  netstat -tunlp | grep 3306  命令查看 3306 端口是否被占用,如果被占用可以修改 MySQL 配置文件中的端口或者停止占用端口的进程。
    • 查看错误日志:/var/log/mysqld.log文件中会记录启动失败的原因,根据日志信息进行排查。

(三)初始密码无法登录

  • 原因:可能是初始密码获取错误或者密码已过期。
  • 解决方案:
    • 重新获取初始密码:再次运行  grep 'temporary password' /var/log/mysqld.log  命令确认。
    • 如果密码过期,可以修改 MySQL 配置文件/etc/my.cnf,在 [mysqld] 部分添加  skip-grant-tables,然后重启 MySQL 服务systemctl restart mysqld,此时可以无密码登录 MySQL,登录后修改密码,修改完成后删除skip-grant-tables并重启服务。

(四)远程连接 MySQL 失败

  • 原因:默认情况下,MySQL 只允许本地登录,没有开启远程连接权限。
  • 解决方案:
    • 登录 MySQL 后,执行GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;命令授予 root 用户远程连接权限,其中%表示允许所有 IP 连接,也可以指定具体的 IP。
    • 执行FLUSH PRIVILEGES;命令刷新权限。
    • 检查防火墙是否开放 3306 端口:如果使用 firewalld 防火墙,运行firewall-cmd --zone=public --add-port=3306/tcp --permanent命令开放 3306 端口,然后运行firewall-cmd --reload命令重新加载防火墙配置。

通过以上步骤,应该可以在 CentOS 系统中成功安装并配置 MySQL。如果在安装过程中遇到其他问题,可以查阅 MySQL 官方文档或者相关技术论坛寻求帮助。


网站公告

今日签到

点亮在社区的每一天
去签到