MySQL8.0+版本1045

折腾了好几天,各种文章看了,把雷都扫了,终于解决了问题。

mysql -u -root -p

输入密码后提示1045错误,找原因吧。折腾一番,最后总结:只要你想通过以上密令进入mysql,就要把密码改为空,然后通过mysql -uroot就可以进入了。无论是改my.ini还是下面的方法,都是这个逻辑。进入后把该做的事儿做完,比如修改加密方式等等。最后我是通过mysql wordkbench 把密码修改该回来的。

无法登录的话,密码改为空

首先停止服务器

net stop mysql

mysqld --console --skip-grant-tables --shared-memory

没反应,重新打开一个cmd

mysql -root

密码设置为空

UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';

刷新

flush privileges;

退出

quit;

重启服务器

net start mysql

修改加密方式

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则,此例中密码为空,此处的password删掉即可,只留下 ''(此处为英文单引号)。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码,此例中密码为空,此处的password删掉即可,只留下 ''(此处为英文单引号)。

FLUSH PRIVILEGES; #刷新权限

————————————————

版权声明:本文为CSDN博主「郎家岭伯爵」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_43203591/article/details/108775828


selectuser,host,pluginfrommysql.use

你可能感兴趣的:(MySQL8.0+版本1045)