windows下mysql8. 忘记密码与更改密码的操作

打算用mysql写实验报告,结果发现自己忘记密码了,找了大半个晚上基本上网上的坑全部踩完了,现在记录一下。

注意下面的任何操作都最好在管理员权限下操作

一:

首先当然是停止一下你的mysql服务,但是很多人用net start mysql的时候就会报错了,原因有两个:

1:是你没有用管理员权限打开(可能性小)

2:MySQL服务器名称不正确(可能性很大)

Win+R输入services.msc,找到mysql服务名称,你就会发现你的名称叫mysql80

好的,然后现在运行

net start mysql80

把mysql服务器关掉是为了之后运行免密登录的操作

二:

因为mysql8.0之后–skip-grant-tables无效,需要在mysql的bin目录中使用mysqld --console --skip-grant-tables --shared-memory,

什么?找不到mysql的bin目录?还是Win+R输入services.msc,双击mysql80,然后你就可以在常规里面看见他的路径

 好的,那么现在找到路径之后,运行mysqld --console --skip-grant-tables --shared-memory,我就会出现下面的报错:[ERROR] [MY-013276] [Server] Failed to set datadir to ‘F:\Mysql\mysql-8.0.19-winx64\data\‘ (OS er

 这是说明你没有成功执行,你需要执行下面的操作:

mysqld --initialize --user=mysql --console

mysqld -install

然后出现下面的界面就说明可以了

(但是我运行完这个命令之后,它一直不退出,如果等太久的话你可以直接做第三步,不一定要等他执行完。 )

参考:https://blog.csdn.net/hanhanwanghaha/article/details/105599321

新开一个cmd,然后直接mysql -uroot -p就可以实现免密登录了,但是我们现在还需要修改一下密码

(1)将 root 用户 authentication_string 字段内存清空

use mysql; 
update user set authentication_string='' where user='root';

注意,运行完命令成功之后之后,这个命令行窗口不要关闭

(2)设置 root 用户的密码

use mysql; 
ALTER user 'root'@'localhost' IDENTIFIED BY '你的新密码';

等显示 Query OK, 0 rows affected 就表示密码设置成功了。

(3)验证

我们可以验证一下刚才设置的密码,关闭当前所有命令行窗口。新打开一个命令行,输入第一步的命令回车,将刚才设置的密码输入进去,回车,看看是不是成功进入 MySQL 数据库了。

成功之后就可以删除之前的命令行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值