在Cent上安装Mysql 8.0的遇到的问题和解决办法

1,安装错误:从 GPG 错误到 root 恢复

The GPG keys listed for the "MySQL 8.0 Community Server" repository are already installed but they are not correct for this package.

导入官方最新 GPG 密钥即可:

bash 复制代码
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

如果由于缓存或插件问题依然报错,可临时跳过校验完成安装( 我用的是这个解决的然后重新安装):

bash 复制代码
yum --disableplugin=fastestmirror --nogpgcheck install -y mysql-community-server

其中 --nogpgcheck 只是应急措施。生产环境建议导入密钥后正常安装,不要长期关闭签名校验。

2 获取初始化密码:

查看临时密码:安装完成后,系统会自动生成一个随机临时密码。执行以下命令查看:

bash 复制代码
sudo grep 'temporary password' /var/log/mysqld.log

运行安全脚本:使用上一步获取的密码登录,并进行安全初始化:

bash 复制代码
sudo mysql_secure_installation

按照提示依次完成修改 root 密码、移除匿名用户、禁止 root 远程登录、删除测试数据库等操。

3 防火墙和密码修改

创建远程用户并授权:

登录 MySQL (mysql -u root -p) 后执行:

sql

bash 复制代码
CREATE USER 'username'@'%' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
FLUSH PRIVILEGES;

开放防火墙端口:

bash 复制代码
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload1

第一步:停止 MySQL 服务

在修改配置前,需要先停止当前正在运行的 MySQL 服务:

bash 复制代码
sudo systemctl stop mysqld

第二步:开启免密登录模式

编辑 MySQL 的配置文件(通常为 /etc/my.cnf),在 mysqld 这一行的下方添加 skip-grant-tables 参数2。保存文件后,重启 MySQL 服务:

bash 复制代码
sudo systemctl start mysqld

第三步:无密码登录并重置密码

此时您可以直接通过以下命令免密进入 MySQL 命令行:

bash 复制代码
mysql -u root

成功进入后,依次执行以下 SQL 语句(注意:MySQL 8.0 及以上版本必须使用 ALTER USER 语法):

bash 复制代码
-- 刷新权限缓存,防止后续操作报错
FLUSH PRIVILEGES;

-- 将密码重置为您设定的新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

-- 再次刷新权限使更改生效
FLUSH PRIVILEGES;

第四步:恢复正常登录模式

密码重置成功后,需要关闭免密模式以保障数据库安全:

重新编辑配置文件 /etc/my.cnf,删除或注释掉刚才添加的 skip-grant-tables。

重启 MySQL 服务:

bash 复制代码
sudo systemctl restart mysqld

随后即可使用新密码正常登录:mysql -u root -p

💡 进阶排查:如果重置密码后依然报错

如果您确认密码正确,但仍提示 1045 错误,很可能是认证插件不兼容导致的。MySQL 8.0 默认使用 caching_sha2_password 插件,部分旧版客户端可能无法正确处理该认证方式4。

您可以尝试将 root 用户的认证方式切换为兼容性更好的传统模式。登录 MySQL 后执行:

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
FLUSH PRIVILEGES;
相关推荐
延凡科技11 小时前
延凡科技综合监控预警处置平台—— 一体化视频AI安防闭环系统设计与功能实现[特殊字符]️
数据库·人工智能·科技·安全·能源
老马聊技术11 小时前
Rocky Linux 9.0 安装 MySQL8.x详细教程
linux·数据库
醇氧12 小时前
主流 Agent 开发框架全解析(2026 最新)
大数据·数据库·人工智能·开源
吴声子夜歌12 小时前
Redis 6.x——整合SpringBoot
数据库·spring boot·redis
ATA888812 小时前
AI辅助生成SQL实战从连接配置到执行计划优化的完整技术流程
数据库·人工智能·智能问数
咏方舟【长江支流】12 小时前
【开源】跨语言·跨平台·跨数据库(4) ——用宝框架 ORM 数据源适配器
数据库·开源·ai编程·orm·咏方舟-长江支流·用宝框架·用宝框架orm
JZC_xiaozhong12 小时前
OA调价审批后,采购调价单如何自动同步到ERP?解决漏录错价难题
大数据·linux·服务器·前端·数据库·数据孤岛解决方案·数据集成与应用集成
渣渣灰飞12 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第一章:企业数据库设计规范
数据库·学习·mysql
IvorySQL12 小时前
PG 日报|新增 VFD 缓存监控视图,精细化数据库调优
大数据·数据库·人工智能·缓存·postgresql·区块链
咏方舟【长江支流】12 小时前
【开源】跨语言·跨平台·跨数据库(3) —— 为用宝框架增加ORM,让AI执行
数据库·人工智能·开源·ai编程·orm·咏方舟-长江支流·用宝框架