一、设置用户的登录密码的plugin为mysql_native_password。(反正设置成这样就可以正常用第三方软件用 用户名密码登录了)
因为mysql8.0之后移除了password()函数,所以要修改密码的话,直接在mysql命令行输入
SET PASSWORD FOR ‘root‘@‘localhost‘ = ‘123‘;
(什么!你说你都没进入mysql终端啊,那看下面的标题二)
虽然,mysql8.0之后将password字段改为了authentication_string,但是如上代码仍然可以直接修改authentication_string字段,是没问题的。
这时,用户名密码登录仍然报错!如下
原因可能是我们设置的密码还只是在缓存吧
plugin字段的值是caching_sha2_password,还是报以下错误,
当把root用户的localhost主机的plugin改为mysql_native_password时,我们再次登录
就登录成功了!
二、进入MySQL终端失败的原因
还有如果dos(一定要用管理员权限进入)下输入mysql进入不去,是因为需要密码才能进入,
所以我们可以输入
mysql -u root -p
然后输入密码
这样就进入了!
最后,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