当前位置: 首页 >数据库 > 记mysql连接问题

记mysql连接问题

  .net项目链接Mysql数据库时提示 Mysql Authentication to host 'xx' for user 'root' using method 'caching_sha2_password'。

  网上查找了一下资料后找到了一个不错的解决方法,作者分析了问题出现的原因也提供了几种解决方案,地址如下:https://www.cnblogs.com/HelloIwen/p/12515950.html

造成这个问题的原因是:

mysql 8.0 版本默认使用 caching_sha2_password 身份验证插件机制。

mysql 8.0以前版本(5.7)使用 mysql_native_password。

低版本升级到8.0 验证方式不变,新用户使用8.0验证方式改变,而客户端不支持新的加密方式。

随后我根据文中的方法将密码加密方式改成 mysql_native_password,但是并没有生效。

接着又尝试修改my.ini 文件 在[mysqld]下添加 default_authentication_plugin=mysql_native_password,还是没有生效。

然后又把这两个都改回了caching_sha2_password 尝试一下还是不行。

事情陷入僵局,但是在反复的尝试中发现这好像并不是密码验证的问题。如果验证方式为caching_sha2_password而密码的加密方式为mysql_native_password,那么错误提示应该是Authentication to host 'localhost' for user 'myuser' using method 'caching_sha2_password' failed with message: Access denied for user 'XXX'@'localhost' (using password: YES).

而我一开始的错误提示是Authentication to host 'localhost' for user 'myuser' using method 'caching_sha2_password' failed with message: reading from the stream has failed;额看来是一开始搜的方法就不对,根本就不是同一个错误。

最终在数据库的连接字符串后加上 SslMode=None; 问题就解决了。

还有在多次的尝试中发现一个问题就是我在本地调试项目 连服务器的数据库时在连接字符串中不加上 SslMode=None也能连接成功而同样的连接方法在服务器上的项目就会偶发性的报错,暂时还没找到原因。

 

 

 

 

作者:风中一条狗
来源链接:https://www.cnblogs.com/hegn/p/15129171.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/118540.html

标签:MySQL升级
分享给朋友:

“记mysql连接问题” 的相关文章

一文带你了解MySQL基础 2022年05月15日 09:35:43
关于mysql数据库连接异常处理 2022年06月12日 19:21:20
mysql查询结果保留2位小数不够补0 2022年06月12日 20:39:53
mysql查询前几条记录 2022年06月13日 21:46:10
mysql简单查询 2022年06月15日 14:03:59
mysql null 优化 2022年06月15日 17:15:21