码迷,mamicode.com
首页 > 数据库 > 详细

VS2010链接Mysql Authentication to host 'xx' for user 'root' using method 'caching_sha2_password'

时间:2020-03-18 11:38:51      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:更新   报错   color   title   ogr   The   lin   经典   模式   

原因:

这是mysql比较经典的问题,本人在这个问题上也是深受其害,泪奔中。。。

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

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

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

逛完了所有的帖子,给大家提供一些可靠的解决方案。

 

解决方案:

 

方案一:针对用户修改加密规则
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘ PASSWORD EXPIRE NEVER;
如果执行报错的话请检查user和host
mysql> use mysql; mysql> select user,host from user;
可以改成:ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘123‘;

更新密码(mysql_native_password模式) ALTER USER ‘root‘@‘localhost‘ IDENTIFIED WITH mysql_native_password BY ‘{NewPassword}‘;
方案二:修改mysql的配置文件my.ini文件  我的事在安装目录下的(C:\ProgramData\MySQL\MySQL Server 8.0)可以参考一下
将下面这行代码添加在[mysqld]下
default_authentication_plugin=mysql_native_password
然后重启mysql服务。然而我测试有一点儿小问题。
方案三:创建一个新的用户,设置新的加密插件方式进行加密,然后赋予权限将数据库表添加在该用户可访问。
具体的自行尝试一下,原理可行。

温馨提示:不建议用navicat工具对root用户加密插件进行操作,博主上次就是这样搞了之后root用户就直接挂掉了,说来都是泪啊。
然后开始了修改密码一区不复返的道路 参考网址https://blog.csdn.net/weixin_42289383/article/details/98039313

另外
再说一个非常神奇的事情:以上所有操作都尝试一个遍之后还是不行,你把电脑的网断掉变单机(博主拔掉无线网卡),奇迹的事情发生了,什么报错都没了,你说气人不?!让人哭笑不得。

 

 

VS2010链接Mysql Authentication to host 'xx' for user 'root' using method 'caching_sha2_password'

标签:更新   报错   color   title   ogr   The   lin   经典   模式   

原文地址:https://www.cnblogs.com/HelloIwen/p/12515950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!