CentOS 7 安装 MySQL 8.0 完整指南

Cora
Cora
发布时间:2026-10-14 | 4人浏览过
原创

在 CentOS 7 环境中部署 MySQL 数据库时,往往需要处理旧版本残留与新版身份验证机制差异两大核心问题。本文将演示如何通过 RPM 包清理彻底移除历史版本,利用官方社区源获取最新软件,并解决初次连接失败及重置管理员密码的操作流程。

第1步:彻底卸载旧版 MySQL

如果系统曾安装过 MySQL 或其他兼容组件,必须先进行深度清理,避免文件冲突导致安装失败。首先检测现有的相关安装包。

# rpm -qa | grep mysql

若发现已安装的旧版本(如 MySQL 5.6 或更高),请按以下顺序卸载:

  1. 停止 MySQL 服务(如果正在运行):
    # systemctl stop mysqld
  2. 卸载 RPM 包。
    # rpm -e --nodeps MySQL-server-xxx.rpm
    # rpm -e --nodeps MySQL-client-xxx.rpm
  3. 删除数据与配置文件。
    # rm -rf /var/lib/mysql
    # rm /etc/my.cnf
  4. 查找并清除残留目录。
    先定位路径:# whereis mysql
    再强行删除相关文件(示例):# rm -rf /usr/lib64/mysql

第2步:下载并安装官方 Yum 源

为避免依赖关系混乱,建议使用官方提供的社区版 Release 包来配置 Yum 仓库。当前主流版本为 CentOS 7 对应的 el7 系列。

# wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

随后将下载的 rpm 包安装至系统中,以激活新增的软件源:

# rpm -ivh mysql80-community-release-el7-3.noarch.rpm

第3步:安装 MySQL 服务端程序

开启配置好的社区源后,直接通过 Yum 命令完成服务端核心组件的下载与安装:

# yum install mysql-community-server

第4步:启动服务并初始化配置

安装完成后,启动数据库守护进程:

# systemctl start mysqld.service

第5步:获取临时密码并重置 root 密码

MySQL 8.0 引入了自动生成的随机初始密码机制。为了安全起见,请勿盲目设置固定密码,而应先获取系统自动分配的临时的密码。

  1. 查阅日志获取临时密码:
    # grep 'temporary password' /var/log/mysqld.log
    记录下最后一行显示的类似 ...@localhost: AbCd1234! 中的字符串。
  2. 使用临时密码登录:
    # mysql -uroot -p
    粘贴刚才的临时密码进入 MySQL 交互界面。
  3. 修改 root 用户密码:
    由于 MySQL 8.0 默认的 mysql_native_password 插件已被替换为更安全的 caching_sha2_password,且对复杂度有强制要求(必须包含大小写字母、数字及特殊符号),建议直接在会话内执行修改操作:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新强密码';

第6步:验证与常用连接命令

退出交互模式后,通过参数指定密码进行测试:

# mysql -uroot -p你的强密码

若能成功进入命令行提示符,则表示安装配置完毕。

常见问题排查

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
这通常意味着数据库服务并未启动,请检查 systemctl status mysqld.service 并尝试重新启动。

Access denied for user 'root'@'localhost'
如果在修改密码之前尝试连接,可能会遇到此错误。此时需重新查看日志中的临时密码,或使用上述 ALTER USER 指令修正。

无法访问外部端口
防火墙可能阻挡了 3306 端口。可放行该端口:
# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# firewall-cmd --reload

以上就是 CentOS 7 环境下安装 MySQL 8.0 及解决常见连接问题的详细内容,更多关于 Linux 服务器部署 SQL 数据库的资料请关注本站其它相关文章!
相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表