关于mysql忘记密码的解决策略
-
关闭mysql服务
命令行输入
net stop mysql
或者打开计算机管理(此电脑->管理 可进入)找到自己的mysql
直接点击停止
-
绕过密码登录
打开命令行(win+R ->cmd)(管理员/非管理员状态下皆可)输入
mysqld --initialize
mysqld --console --skip-grant-tables --shared-memory
此时运行持续不终止,保持此窗口不关闭,另开一个命令行窗口(以管理员身份打开),输入
mysql -u root -p
此时会提示输入密码,这个密码填什么都行,进入mysql,输入
use mysql
select user,authentication_string,host from User;
上面一行是查看操作,可以没有
alter user 'root'@'localhost' identified by '123456';
上面一行是更改密码操作,root为用户名对应user,localhost对应host,后方是自己更改的密码
flush privileges;
设置生效
quit;
退出
关闭这两个命令行窗口后重新启动mysql,输入更改后密码,成功
-
其他问题
其他解决办法:重装
其他问题:为什么修改后查看命令
select user,authentication_string,host from User;
更改用户名的密码是乱码?
原因:自己设置的密码在查看时有加密过程
可以通过
select user,plugin from user where user='root';
查看密码的加密方式
所以这就是为什么有些教程使用
update user set authentication_string='123456' where User='root';
不成功的原因,因为没有加密过程,实际密码非设定密码
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。