CentOS7安装MySQL教程及常见错误解决
本文详细讲解了在 CentOS 7 系统中安装 MySQL 的完整流程与高频问题应对策略,直击因 MariaDB 冲突、YUM 源不兼容、GPG 密钥验证失败、服务初始化异常及密码策略限制等导致的各类典型报错,提供从彻底卸载旧组件、精准配置官方 el7 源、安全导入密钥、成功安装启动到重置强密码的一站式解决方案,助你避开踩坑、高效完成生产级 MySQL 部署。

如果您在 CentOS 7 系统中安装 MySQL 数据库时遇到配置报错,例如服务无法启动、初始化失败、密码获取异常或 GPG 密钥验证错误,则很可能是由于残留组件冲突、YUM 源配置不当、依赖缺失或权限/路径异常所致。以下是针对各类典型配置报错的系统性解决步骤:
一、彻底卸载 MariaDB 与旧版 MySQL 冲突组件
CentOS 7 默认预装 MariaDB,其服务名(mariadb)、端口(3306)、配置文件(/etc/my.cnf)及数据目录(/var/lib/mysql)均与官方 MySQL 冲突,必须完全清除,否则会导致 mysqld 启动失败或配置覆盖失效。
1、停止正在运行的数据库服务:
执行 systemctl stop mysqld mariadb,并确认无残留进程:
ps aux | grep -E "(mysqld|mariadb)",若输出为空则表示已停止。
2、卸载所有相关 RPM 包:
执行 rpm -qa | grep -E "mysql|mariadb" | xargs yum remove -y,强制移除全部匹配包。
3、删除残留配置与数据目录:
执行 rm -rf /etc/my.cnf /etc/my.cnf.d /var/lib/mysql /var/log/mysqld.log,确保无历史配置干扰新安装流程。
二、配置兼容的 MySQL 官方 YUM 源
CentOS 7 自带 YUM 源不含 MySQL 官方软件包,直接 yum install mysql-community-server 会报“no package available”。必须手动添加与系统版本(el7)严格匹配的官方源,否则将触发元数据解析失败或仓库不可用错误。
1、确认系统版本:
执行 cat /etc/redhat-release,输出应为类似 CentOS Linux release 7.x.x (Core) 的格式。
2、下载对应 el7 版本的 MySQL YUM 发行包:
访问 https://dev.mysql.com/downloads/repo/yum/,右键查看页面源码,定位到 mysql80-community-release-el7-*.noarch.rpm 或 mysql57-community-release-el7-*.noarch.rpm(根据目标版本选择),使用 wget 下载:
wget https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm。
3、安装 YUM 源包并验证:
执行 rpm -ivh mysql80-community-release-el7-3.noarch.rpm;
再执行 yum repolist enabled | grep "mysql",若返回包含 mysql80-community 的条目,则源已生效。
三、处理 GPG 密钥验证失败报错
执行 yum install 时若出现 “GPG key retrieval failed” 或 “Failing package is: mysql-community-client-*” 提示,说明本地未导入 MySQL 官方 GPG 公钥,导致 RPM 包签名校验失败,安装中断。
1、手动导入最新 GPG 密钥:
执行 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022(适用于 2022 年后发布的 MySQL 8.0/5.7 包)。
2、若仍报错,可临时禁用密钥检查(仅限测试环境):
执行 yum install -y mysql-community-server --nogpgcheck,但不推荐用于生产环境。
四、安装并初始化 MySQL 服务
YUM 源配置正确且密钥就绪后,方可执行安装。若此前跳过卸载或源配置步骤,此处极易触发依赖缺失(如 libaio.so.1)或服务单元文件缺失等错误。
1、安装 MySQL 服务端主程序:
执行 yum install -y mysql-community-server,该命令自动拉取并安装 server、client、common、libs 等必需组件。
2、启动 mysqld 服务并设为开机自启:
执行 systemctl start mysqld;
执行 systemctl enable mysqld。
3、获取 root 用户初始密码:
执行 grep 'temporary password' /var/log/mysqld.log,输出形如 A temporary password is generated for root@localhost: xxxxxxxx,其中冒号后字符串即为临时密码。
五、修复登录失败与密码策略报错
使用临时密码登录后若提示 “ERROR 1820 (HY000): You must reset your password”,或执行 SET PASSWORD 报错 “Your password does not satisfy the current policy requirements”,说明 MySQL 5.7+ 默认启用了 validate_password 插件,对密码复杂度有强制要求。
1、临时关闭密码策略插件(便于快速验证):
编辑配置文件:vi /etc/my.cnf;
在 [mysqld] 段落下新增一行:validate_password=off;
保存后执行 systemctl restart mysqld。
2、重置 root 密码:
执行 mysql -uroot -p,输入临时密码进入;
执行 ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';(密码需含大小写字母、数字、特殊字符且长度 ≥8);
执行 FLUSH PRIVILEGES;。
终于介绍完啦!小伙伴们,这篇关于《CentOS7安装MySQL教程及常见错误解决》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
Number.isSafeInteger用法与校验技巧
- 上一篇
- Number.isSafeInteger用法与校验技巧
- 下一篇
- Word从第三页开始加页码方法详解
-
- 文章 · linux | 35分钟前 |
- Jattach诊断Java进程,零停机获取Dump方法
- 123浏览 收藏
-
- 文章 · linux | 1小时前 |
- CentOS7安装MySQL教程及常见错误解决
- 447浏览 收藏
-
- 文章 · linux | 1小时前 | Linux
- LinuxSFTP只读设置教程
- 227浏览 收藏
-
- 文章 · linux | 2小时前 |
- Linux权限修改教程:chmod与chown详解
- 413浏览 收藏
-
- 文章 · linux | 3小时前 |
- Linux修改SSH端口增强安全防护
- 396浏览 收藏
-
- 文章 · linux | 4小时前 |
- Linux下安装Nacos注册中心教程
- 451浏览 收藏
-
- 文章 · linux | 5小时前 |
- Linux稀疏文件创建方法详解
- 137浏览 收藏
-
- 文章 · linux | 5小时前 |
- Linux下配置Canal实现MySQL数据同步教程
- 252浏览 收藏
-
- 文章 · linux | 14小时前 |
- Linux下安装Zabbix监控教程
- 454浏览 收藏
-
- 文章 · linux | 16小时前 |
- Linux网卡IP设置教程详解
- 399浏览 收藏
-
- 文章 · linux | 19小时前 | Linux
- SSSD连接AD域配置实战教程
- 240浏览 收藏
-
- 文章 · linux | 21小时前 |
- Linux下SonarQube代码扫描配置教程
- 123浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ChatExcel酷表
- ChatExcel酷表是由北京大学团队打造的Excel聊天机器人,用自然语言操控表格,简化数据处理,告别繁琐操作,提升工作效率!适用于学生、上班族及政府人员。
- 4476次使用
-
- Any绘本
- 探索Any绘本(anypicturebook.com/zh),一款开源免费的AI绘本创作工具,基于Google Gemini与Flux AI模型,让您轻松创作个性化绘本。适用于家庭、教育、创作等多种场景,零门槛,高自由度,技术透明,本地可控。
- 4819次使用
-
- 可赞AI
- 可赞AI,AI驱动的办公可视化智能工具,助您轻松实现文本与可视化元素高效转化。无论是智能文档生成、多格式文本解析,还是一键生成专业图表、脑图、知识卡片,可赞AI都能让信息处理更清晰高效。覆盖数据汇报、会议纪要、内容营销等全场景,大幅提升办公效率,降低专业门槛,是您提升工作效率的得力助手。
- 4703次使用
-
- 星月写作
- 星月写作是国内首款聚焦中文网络小说创作的AI辅助工具,解决网文作者从构思到变现的全流程痛点。AI扫榜、专属模板、全链路适配,助力新人快速上手,资深作者效率倍增。
- 6494次使用
-
- MagicLight
- MagicLight.ai是全球首款叙事驱动型AI动画视频创作平台,专注于解决从故事想法到完整动画的全流程痛点。它通过自研AI模型,保障角色、风格、场景高度一致性,让零动画经验者也能高效产出专业级叙事内容。广泛适用于独立创作者、动画工作室、教育机构及企业营销,助您轻松实现创意落地与商业化。
- 5070次使用
-
- 命令行工具:应对Linux服务器安全挑战的利器
- 2023-10-04 501浏览
-
- 如何使用Docker进行容器的水平伸缩和负载均衡
- 2023-11-07 501浏览
-
- linux .profile的作用是什么
- 2024-04-07 501浏览
-
- 如何解决s权限位引发postfix及crontab异常
- 2024-11-21 501浏览
-
- 如何通过脚本自动化Linux上的K8S安装
- 2025-02-17 501浏览

