第 53 期:MySQL 创建了用户却无法登陆

社区王牌专栏《一问一实验:AI 版》全新改版归来,得到了新老读者们的关注。其中不乏对 ChatDBA 感兴趣的读者前来咨询,表达了想试用体验 ChatDBA 的意愿,对此我们表示感谢 🤟。

目前,ChatDBA 还在最后的准备阶段,会尽快跟大家见面。想预约试用的朋友,可以扫码文末的 意见反馈 填写调研问卷。我们正在对 DBA 群体试用大模型的情况进行调研,这对我们打磨 ChatDBA 的使用体验非常重要。

下面让我们正式进入《一问一实验:AI 版》的第 53 期。

问题

MySQL 创建了用户却无法登陆

用户反馈前期进行了一个升级操作:从 MySQL 5.6 升级到 5.7 后,新建了一个 sky1@% 的用户,但是通过 socket 登录报错 Access denied

实验

1. 将问题丢给 ChatDBA

我们先把这个问题丢给 ChatDBA,让他看下具体出了什么问题。

第 53 期:MySQL 创建了用户却无法登陆

在这里插入图片描述

左侧为流程分析画布,展示 ChatDBA 对此问题的排查逻辑;右侧为互动区域

2. ChatDBA 协助问题排查

这个问题是说用户虽然创建了名字为 sky1 的用户,但是却登录不上去,这时 ChatDBA 给出的可能原因有:

  • 权限配置问题:没给这个用户配置 socket 登录方式
  • 数据库配置问题
  • 操作系统的权限问题
  • 匿名用户导致

ChatDBA 提示需要查询上面几处的具体信息,同时也可以看到,此时 ChatDBA 推测了一种可能得解决方案,并给出了操作步骤。

3. ChatDBA 给出解决方案

经过检查发现用户的权限等都不存在问题,但是输入用户信息表时,ChatDBA 发现确实存在匿名用户,那么他提示直接删除用户即可解决该问题。

4. 实验总结

针对该问题,ChatDBA 上述的排查步骤虽然解决了问题,但是并没有解释问题出现的根本原因。后续经过检查我们发现,当用户不输入密码的时候是可以登陆的,而且登录的用户信息如下:

mysql> select current_user();
+------------------+
|current user |
+------------------+
|@localhost |
+------------------+
1 row in set (0.00 sec)
mysql> select user();
+---------------+
| user          |
+---------------+
|sky1@localhost |
+---------------------+
1 row in set (0.00 sec)

针对这个情况我们也问了一下 ChatDBA。

他回复说其实是因为用户匹配规则导致的:

  • 使用 sky1@% 用户通过 socket 登录,host 被识别为 localhost
  • mysql.user 表中,有两个匿名用户(''@localhost''@centos76)。
  • 根据 MySQL 5.6 的匹配规则,虽然有一个 sky1@% 的用户存在,但由于存在一个 ''@localhost 的匿名用户,MySQL 优先匹配这个匿名用户。
  • 由于匿名用户没有密码,当你输入 sky1@% 用户的密码时,MySQL 会因为匿名用户没有密码而拒绝访问,报错 Access denied

但是其实在 MySQL 5.7 中优化了用户匹配规则。当使用 socket 链接时,不会优先匹配到匿名用户,因此全新安装的 MySQL 5.7 不会出现这个问题。而从 5.6 升级到 5.7 的过程中,MySQL 对用户表元数据没有更新,所以导致了用户开头出现的当从 MySQL 5.6 升级到 5.7 后,新建了一个 sky1@% 的用户,但是通过 socket 登录报错 Access denied

问问 ChatGPT-4o

我们也将相同的问题送给了 ChatGPT-4o,让我们看看效果如何。

什么是 ChatDBA?

更多技术文章,请访问:https://opensource.actionsky.com/

关于 SQLE

SQLE 是一款全方位的 SQL 质量管理平台,覆盖开发至生产环境的 SQL 审核和管理。支持主流的开源、商业、国产数据库,为开发和运维提供流程自动化能力,提升上线效率,提高数据质量。

SQLE 获取

类型地址
版本库https://github.com/actiontech/sqle
文档https://actiontech.github.io/sqle-docs/
发布信息https://github.com/actiontech/sqle/releases
数据审核插件开发文档https://actiontech.github.io/sqle-docs/docs/dev-manual/plugins/howtouse

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/675159.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HBuilderX打包uni-app项目成安卓app

目录 1、下载Android 离线SDK 2、Android Studio导入工程 3、生成签名 3.1、进入到jdk bin目录下,输入cmd执行命令keytool -genkey -alias wxsalias -keyalg RSA -keysize 2048 -validity 36500 -keystore wxs.keystore 生成签名 3.2、查看签名密钥keytool -lis…

APP 备案步骤

一、打开阿里云备案系统平台:aliyunbaike.com/go/beian 二、开始备案 三、填写APP名称并进行信息校验 四、填写主办者基础信息和主办者负责人信息 五、填写互联网信息,android打包的APK包可直接上传识别信息,ios需要手动填写信息 公钥和证书SHA-1指纹如…

图片去手写软件有哪些?这三款值得一试!

图片去手写软件有哪些?在当今数字化时代,图片处理与编辑已成为我们日常生活中不可或缺的一部分。特别是在处理手写笔记、涂鸦或草图时,图片去手写软件发挥着至关重要的作用。它们能够帮助我们轻松去除图片中的手写内容,使图片更加…

企业百度百科如何修改

百度百科是一个可以让我们快速的了解一个企业情况的地方,同时也让我们的企业展示了什么,还有哪些是可以做的。 注册与登录 首先,你需要注册一个百度账号,并通过邮箱或手机进行验证。登录后,可以开始创建或编辑百度百科…

Ubuntu系统升级k8s节点的node节点遇到的问题

从1.23版本升级到1.28版本 node节点的是Ubuntu系统20.04的版本 Q1 node节点版本1.23升级1.28失败 解决办法: # 改为阿里云镜像 vim /etc/apt/sources.list.d/kubernetes.list# 新增 deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main# 执…

62. UE5 RPG 近战攻击获取敌人并造成伤害

在上一篇,我们实现了通过AI行为树控制战士敌人靠近攻击目标触发近战攻击技能,并在蒙太奇动画中触发事件激活攻击的那一刻的伤害判断,在攻击时,我们绘制了一个测试球体,用于伤害范围。 在之前实现的火球术中&#xff0c…

韩国GreenChip电容式触摸芯片-打造智能触控新时代

在如今科技迅猛发展的时代;智能触控技术已经成为现代生活中不可或缺的一部分;作为一家领先的触控芯片制造商,韩国GreenChip推出的电容式触摸芯片正以其卓越的性能和创新的设计,引领着智能触控的新时代。 韩国GreenChip电容式触摸…

嘴尚绝卤味:口感独特,让你一尝难忘的美食新体验!

在美食的世界里,卤味以其独特的口味和制作工艺,一直受到广大食客的喜爱。而在众多的卤味品牌中,嘴尚绝卤味凭借其口感独特、品质卓越的特点,脱颖而出,成为众多美食爱好者的首选。 嘴尚绝卤味,顾名思义&…

ARM公司发展历程

Arm从1990年成立前开始,历经漫长岁月树立各项公司里程碑及产品成就,一步步成为全球最普及的运算平台。 添加图片注释,不超过 140 字(可选) Acorn 时期 1978年,Chris Curry和Hermann Hauser共同创立了Acorn…

QT 音乐播放器【一】 显示音频级别指示器

文章目录 效果图概述代码总结 效果图 概述 QMediaPlayer就不介绍了,就提供了一个用于播放音频和视频的媒体播放器 QAudioProbe 它提供了一个探针,用于监控音频流。当音频流被捕获或播放时,QAudioProbe 可以接收到音频数据。这个类在需要访问…

python下绘制地形晕染(shading)图

python可以利用rasterio,cartopy,matplotlib等库绘制地形晕染图。 1.获取高程数据 高程数据可以从GEBCO网站下载:(https://www.gebco.net/data_and_products/gridded_bathymetry_data/)。 选择raster(栅…

flask 之JWT认证实现

目录 1、JWT 1.1、JWT概述 1.2、token的生成 1.3、token校验 1.4、flask项目中实现JWT认证 1、JWT 1.1、JWT概述 JWT(JSON Web Token)是一种用于身份验证和授权的开放标准。它由三部分组成,分别是头部、负载和签名。 头部&#xff0…

24、Linux网络端口

Linux网络端口 1、查看网络接口信息ifconfig ens33 eth0 文件 ifconfig 当前设备正在工作的网卡,启动的设备。 ifconfig -a 查看所有的网络设备。 ifconfig ens33 查看指定网卡设备。 ifconfig ens33 up/down 对指定网卡设备进行开关 基于物理网卡设备虚拟的…

搭建 3D 智慧农场可视化

运用图扑自主研发的 HT 产品,全程零代码搭建 3D 轻量化 Low Poly 风格的智慧农场可视化解决方案,无缝融合 2D、3D 技术,1:1 还原农场的区域规划,展开对农作物间的网格化管理。

真国色码上赞,科技流量双剑合璧,商家获客新纪元开启

在数字化浪潮汹涌的今天,真国色研发团队依托红玉房网络科技公司的雄厚实力,凭借科技领先的核心竞争力,推出了创新性的商家曝光引流工具——码上赞。这款工具借助微信支付与视频号已有功能,为实体商家提供了一种全新的引流获客方式,实现了科技与商业的完美融合。 科技领先,流量黑…

MATLAB format

在MATLAB中,format 是一个函数,用于控制命令窗口中数值的显示格式。这个函数可以设置数值的精度、显示的位数等。以下是一些常用的 format 命令: format long:以默认的长格式显示数值,通常显示15位有效数字。format s…

图像处理之基于标记的分水岭算法(C++)

图像处理之基于标记的分水岭算法(C) 文章目录 图像处理之基于标记的分水岭算法(C)前言一、基于标记点的分水岭算法应用1.实现步骤:2.代码实现 总结 前言 传统分水岭算法存在过分割的不足,OpenCV提供了一种…

CTFHUB-密码口令-弱口令

目录 题干介绍 密码字典 找flag过程 尾声 题干介绍 通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。 密码字典 下载地址:GitHub - NepoloHebo/Commonly-used-weak-password-dictionary: 常用弱密码字…

川北医学院与爱尔眼科医院集团签署战略合作协议共谋医学发展新篇章

为深入贯彻落实党的二十大精神,统筹校、企、医、政多方资源,服务“健康中国”战略,推动眼健康产业发展,打造国家及区域级眼科医学中心,2024年5月31日,川北医学院与爱尔眼科医院集团在成都举行战略合作协议签…