mysql8.0以后password()出错 && mysql连接不上

一、设置用户的登录密码的plugin为mysql_native_password。(反正设置成这样就可以正常用第三方软件用 用户名密码登录了)

因为mysql8.0之后移除了password()函数,所以要修改密码的话,直接在mysql命令行输入

SET PASSWORD FOR root@localhost = 123;

mysql8.0以后password()出错 && mysql连接不上

 

 

 (什么!你说你都没进入mysql终端啊,那看下面的标题二)

虽然,mysql8.0之后将password字段改为了authentication_string,但是如上代码仍然可以直接修改authentication_string字段,是没问题的。

这时,用户名密码登录仍然报错!如下

mysql8.0以后password()出错 && mysql连接不上

 

 

 原因可能是我们设置的密码还只是在缓存吧

mysql8.0以后password()出错 && mysql连接不上

 

 

 plugin字段的值是caching_sha2_password,还是报以下错误,

 

 

 

 mysql8.0以后password()出错 && mysql连接不上

 

 

mysql8.0以后password()出错 && mysql连接不上

 

 

 当把root用户的localhost主机的plugin改为mysql_native_password时,我们再次登录

 mysql8.0以后password()出错 && mysql连接不上

 

 

 mysql8.0以后password()出错 && mysql连接不上

 

 

 就登录成功了!

二、进入MySQL终端失败的原因

还有如果dos(一定要用管理员权限进入)下输入mysql进入不去,是因为需要密码才能进入,

 

mysql8.0以后password()出错 && mysql连接不上

 

 

 

 

 mysql8.0以后password()出错 && mysql连接不上

 

 

 所以我们可以输入 

mysql -u root -p

然后输入密码

mysql8.0以后password()出错 && mysql连接不上

 

 

 这样就进入了!

最后,FLUSH PRIVILEGES;   (刷新权限)

mysql> FLUSH PRIVILEGES;

 

除此之外,还有可能就是你的my.ini没有配置好,里面的路径配置对不对;mysql是否加入到环境变量;

 

----------------------

参考链接

https://blog.csdn.net/tg928600774/article/details/81252294?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

https://blog.csdn.net/u012604745/article/details/80632860

 

mysql8.0以后password()出错 && mysql连接不上

上一篇:Navicat连接MySQL Server8.0版本时出现Client does not suppo


下一篇:python 多人聊天DOS版