谁在跟我说用mysql8.0,小心我的40米大刀

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 谁在跟我说用mysql8.0,小心我的40米大刀

最近由于笔者入职,公司也刚好给我们陪了新电脑,新电脑到的第一件事是啥,相信大家都知道,对于我们程序员,首要的事,肯定是先配置我们相关的编程环境,于是笔者花了一晚上的时间将MySQL,Tomcat,Maven,jdk,git,redis等环境配置好了,然后第二天由于公司的项目是运用的SpringSecurity权限管理技术,之前笔者学习的权限管理框架主要是shiro,这方面并没有接触过,所以只能硬着头皮来啃了。在B站找了相关视频来进行学习,但是就在与数据库交互进行身份验证的过程中,出了一个bug,自此,笔者陷入了深深的自闭之中。


1.首先

笔者想到的第一个问题是不是数据库连接出现了差错,所以我去检查了数据库的相关配置文件,发现的确有问题,因为笔者安装的是mysql8.0.20的版本所以,数据库连接的jar出现了变更,由之前的com.mysql.jdbc.Driver变成了现在的com.mysql.cj.jdbc.Driver这是笔者找的第一个错误


2.其次

由于Springsecurity是通过自带的类UserDetailsService来实现身份认证的,所以我们就必须要将我们自身的服务即UserService通过继承UserDetailsService并实现其中的类来实现通过我们自身的数据来进行身份验证,于是就开始实现。

20200707124039454.png

可以看到函数的返回值是UserDetails,所以我们函数的返回类型必须要是该类型,这里笔者最后全是return null,必然是不行的。


3.接着

因为我先实现的是简单的身份验证,还没有考虑到密码要进行加密的处理,而springsecurity本身默认就是进行加密处理,所以显然这里我们就算进行认证也是必定认证不了的,所以我们必须先将加密设置给注销掉,所以就必须要添加这行代码,添加之后Springsecurity就是将我们的密码进行明文比较了。

20200707124437399.png

在笔者检查出上述所有的错误之后本来以为


20200707124558923.png


小鬼这下你跑不脱了吧,还不快快现行

结果歇逼了,又歇逼了,界面就一直停在登录界面,打开谷歌的检查界面发现


20200707124819575.png


返回的请求一直是停在我设置的身份验证失败的页面,之后笔者想会不会还是数据库的数据没读出来啊,于是我就通过打断点的进行来查看我输入的数据以及从数据库中读出来的数据是不是一样的,接下来就是见证奇迹的时刻;


20200707125038283.png

20200707125055954.png

两者的数据一模一样,这下彻底崩了,数据一模一样,但就是认证不过去,接下来,笔者从pom.xml文件开始一层一层的检查,发现根本一点问题都没有,关键是本身控制台也不报错,就连问题是啥也不知道,就知道只是没验证过去。搞了一天,实在不行,去问了公司的一个大佬,大佬说他也是第一次使用Springsecurity,也不太清楚,于是笔者就感觉更崩了,这可咋整啊,于是半天又过去了。


20200707125135182.png

最后笔者抱着试一试的态度,想了想反正一定是数据的问题,实在不行就重装了MySQL,但是既然选择重装,就肯定不能再装MySQL8.0.20了,否则肯定问题还是一样的呀,所以笔者选择了安装自己的第一次-------mysql5.7,当笔者安装完之后重新启动项目的时候,发现我靠,这玩意儿终于生出来了。


20200707125943265.png


终于跳出来了,我搞了一天这玩意儿终于出来了。

以下仅代表个人观点

最新的并不代表是最好用的,经过时间的考验的才是真的棒的。

之前用mysql8.0的时候就遇到过好多次问题,但是之后基本都能解决,但是这一次是真的难顶,游戏体验是真的差。最后只能选择重装mysql环境来解决,如果有大佬知道解决方案的,也希望能在评论去提出来。最后笔者自己的体验就是MySQL5.7天下第一



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
14天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
8天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
562 210
|
3天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
226 138
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
792 59
|
6天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1105 157
|
6天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
474 109