网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

MySQL子账号过期和连接公钥问题,怎么突然就解决了呢?

GG网络技术分享 2026-01-22 05:46 3


一、前言:子账号过期+公钥失效,这到底是怎么一回事?

说实话, 我当时真的懵了——手里这套MySQL子账号,忽然报“密码Yi过期”,再去连库却提示“公钥未安装”。我甚至怀疑是不是服务器被外星人入侵了脑子里全是“怎么会这么倒霉”。后来啊呢?居然在一次不经意的重启后一切神奇地恢复正常,像是被施了魔法一样。

1. 子账号过期的常见表现

🔧 登录时出现:

MySQL实践|MySQL子账号过期和连接公钥问题稀里糊涂的解决了
  • ERROR 1820 : Your password has expired.
  • Access denied for user 'sub_user'@'%'

还有那种让人抓狂的Auntication plugin 'caching_sha2_password' could not be loaded配合公钥错误简直是“双剑合璧”。

2. 公钥失效的尴尬现场

当你尝试用SSL连接时控制台会吐出:

ERROR 2026 : SSL connection error: SSL library error: certificate verify failed

还有那句经典的:

GPG key is already installed but not correct for this package.

我服了。 我甚至怀疑是键盘上哪个键卡住了——每次敲yum install mysql-community-serverdou像在弹钢琴。

二、 突如其来的解决方案:一次偶然的“重启+导入”

下面给大家透露一下我是怎么在毫无头绪的情况下把这堆坑填平的。

1) 检查系统时间

先打开终端敲:

date

如guo系统时间比实际时间慢了几天那密码过期和证书校验dou会闹鬼。 我算是看透了。 调对时间后先给自己一个鼓掌👏。

2) 导入Zui新的MySQL GPG公钥

步骤如下:

  1. rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2024
  2. yum clean all && yum makecache fast
  3. yum install mysql-community-client mysql-community-server -y --skip-broken

3) 强制刷新子账号密码策略

ALTER USER 'sub_user'@'%' IDENTIFIED B 痛并快乐着。 Y 'NewPass#1234' PASSWORD EXPIRE NEVER;

闹笑话。 AFAIK,这条语句会把过期标记直接踢掉。ran后别忘记施行FLUSH PRIVILEGES;

4) 重启MySQL服务

/etc/init.d/mysqld restart || systemctl restart mysqld.service,说白了就是...

三、为什么说它“突然”就解决了?——背后的隐形因素大揭秘!

换个赛道。 *运气* + *系统缓存* + *管理员粗心*

  • 缓存失效: 有时候yum或rpm缓存里残留旧的公钥文件, 只要清理一下缓存,就Neng让新钥匙生效。
  • 权限同步延迟: MySQL内部的权限表需要几秒钟到几分钟才Neng真正刷新完毕,而我们往往在第一时间就去尝试登录。
  • #随机噪音#: 在我敲代码的时候, 旁边的咖啡机正好爆炸了一下让我吓得手抖,把错别字写进了命令行……后来啊反而跑通了。

四、实战小技巧表格——快速定位问题根源

#序号#检查项常见错误信息快速修复办法
1️⃣系统时间是否准确? 日期/时间错误导致证书校验失败 使用 NTP sync && date -s "$+')"
2️⃣GPG密钥是否Zui新? GPG key is already installed but not correct # rpm --import ... # yum clean all && yum update -y
3️⃣子账号密码是否Yi过期? ERROR 1820 : Your password has expired # ALTER USER ... PASSWORD EXPIRE NEVER ; # FLUSH PRIVILEGES ;
4️⃣SSL配置是否完整? SSL connection error: certificate verify failed # 检查 my.cnf 中 ssl-ca、 ssl-cert、ssl-key 路径 # 重启服务
5️⃣缓存是否干净? 旧包残留导致冲突 # rm -rf /var/cache/yum/* # yum makecache fast

五、 :从混沌到光明,只差一次“点亮”操作!

kan完这篇乱七八糟、 情绪化且充满噪音的碎碎念,你或许Yi经对 MySQL 子账号过期和公钥失效有了geng直观、geng “人性化” 的认识。别忘了:**系统时间**、**GPG 密钥**以及**密码策略**永远是Zui容易忽视却Zui关键的三大点。只要你敢动手去点一点 **重启** 或 **导入Zui新密钥**,hen多所谓 “悬案”dou会在不经意间自行消散。祝各位 DBA 大神们早日摆脱卡顿, 在生产环境里畅快奔跑~ 🎉 🎉 🎉 本文为原创,仅供学习交流使用,如需转载请注明出处,谢谢,总体来看...!


提交需求或反馈

Demand feedback