前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >已解决:java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)

已解决:java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)

作者头像
苏泽
发布2024-03-30 10:29:42
4210
发布2024-03-30 10:29:42
举报

今天在搞软测一个作业 要用Tomcat整个古董项目

因为用到的东西都很老

大概就是因为旧版本的MySQL服务器使用mysql_native_password  但是

在MySQL 8.0及以后的版本中,默认的身份验证插件是caching_sha2_password

这是发生错误的主要原因

解决办法

找到my.ini文件,找到mysqld部分,(如果没有就直接增加这句话)将auth_native_password设置为1,新版本的客户端仍然能够连接到MySQL服务器,因为新版本的客户端支持多种身份验证插件,包括mysql_native_password

不必担心会影响现有的 新版本的项目 因为

当客户端尝试连接到服务器时,客户端和服务器会协商使用哪种身份验证插件。如果客户端支持mysql_native_password,那么即使服务器配置为使用caching_sha2_password,客户端也可以回退到使用mysql_native_password进行身份验证。

我知道 一定有人不知道my.ini在哪 

因为新版本之后 这个配置文件被放到了神秘的地方

所以我们要进入mysql客户端

输入show variables like 'datadir';

找到了这个文件 那么my.ini就在旁边

  1. 重启MySQL服务
    • 在Linux系统上,你可以使用以下命令重启MySQL服务: sudo systemctl restart mysql
    • 在Windows系统上,你可以通过服务管理器重启MySQL服务,或者使用命令行: net stop mysql net start mysql

如果你们跟我一样 启动完以后不能启动了

很好 那我们来下一步 

维修MySQL

请把以下教程记录下来因为以后你们可能要做无数次 如果你们经常要搞数据库

首先来到刚才的Data文件 备份里面的所有资料

然后 使用管理员权限打开cmd 

cd进入到你们安装的MySQL 的bin目录

操作如下

代码语言:javascript
复制
C:\Windows\System32>cd C:\Program Files\MySQL\MySQL Server 8.1\bin

C:\Program Files\MySQL\MySQL Server 8.1\bin>mysqld -remove MySQL
Service successfully removed.

C:\Program Files\MySQL\MySQL Server 8.1\bin>mysqld --initialize-insecure

C:\Program Files\MySQL\MySQL Server 8.1\bin>mysqld -install
Service successfully installed.

C:\Program Files\MySQL\MySQL Server 8.1\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。


C:\Program Files\MySQL\MySQL Server 8.1\bin>

好了  一切都好了

By  the way  若是数据没了 那就在备份里面自己拷贝进去 要是还在 那就God love you

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在MySQL 8.0及以后的版本中,默认的身份验证插件是caching_sha2_password
  • 解决办法
  • 不必担心会影响现有的 新版本的项目 因为
  • 我知道 一定有人不知道my.ini在哪 
  • 如果你们跟我一样 启动完以后不能启动了
    • 维修MySQL
    • 好了  一切都好了
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档