1. 首先说明:
正确的修改密码方式:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "123456";
错误的修改方式:
UPDATE user SET authentication_string="123456" WHERE user="root";
2.情景:
我因为用错误的修改方式连接不上mysql
我的mysql密码是一个空的 ,我觉得这样怪不好的,我就想设置一个密码,我的mysql版本是8.0.27,我就百度了这个版本的怎么修改密码,看到一篇文章,两下就改好了,我刚觉得这篇文章不错,结果发现了作者说按照这种方式修改密码的他表示很同情,我就纳闷了为什么?原来这种方式修改密码会报错,会连接不上mysql,我试了一下还真连接不上了。、giao。原文是这样的,
不过作者也给了用这种方式修改密码出现问题的解决方式。我真是大冤种啊 竟然这么大一个坑还自己往里跳,还好作者给了爬坑方式,那就开始爬坑吧
3.开始爬坑
3.1 先把mysql密码清空
1.停止 MySQL 任务
net stop MySQL
2.mysqld 命令:无密码登录
mysqld --console --skip-grant-tables --shared-memory
我的运行图:
打开另外一个终端
3.2 设置新的密码
1.无密码进入
mysql mysql -u root
2.USE mysql;
USE mysql;
3.用正确的方式修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "123456";
我的cmd运行图: