适用场景:忘记MySQL登录密码,想要重置为其他值
使用简介:Windows下依次操作三个终端,重置密码
〘终端一:关闭服务后重置启动〙
(1)首先进入MySQL安装目录,随后点击bin目录
(2)进入bin目录后,记录下该地址
(3)以管理员方式打开CMD命令框,如果是Win10系统可以直接搜索后点击以管理员身份运行
(4)在CMD内输入如下命令:cd /d 代表进入指定目录(和Linux不一样,必须要使用/d参数)
cd /d "MySQL的bin目录地址"
(5)输入回车后可以看到已经进入到指定目录,随后输入关闭MySQL服务命令如下:
net stop "MySQL服务名"
MySQL服务名如果没有单独设置过,默认是mysql。
如果设置过,但忘记了,可以直接搜索服务,在服务中查看,如下图:
(6)因为我的电脑上有两个MySQL环境,分别命名为MySQL57和MySQL80。现在运行的是MySQL80,对应命令如下:
(7)继续输入命令如下:
mysqld --console --skip-grant-tables --shared-memory
此命令为MySQL 数据库的启动命令,用于在 Windows 系统下以控制台模式启动MySQL服务,并且跳过权限表检查,同时开启共享内存功能。
〘终端二:登录MySQL重置密码〙
(1)不要关闭终端一,再开启一个终端,同样cd到bin目录,执行命令如下:
mysql -u root
(2)成功登入到mysql,执行以下两个命令:
use mysql
此命令是指使用名为mysql的数据库。如图:
update user set authentication_string='' where user='root';
此命令用于更新名为MySQL的数据库中用户表(
user
)的authentication_string
字段,将用户名为root
的用户的密码设置为空。
(3)执行成功后,继续在该终端内执行命令如下:在新密码处输入你想要重置的密码
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
此命令用于更改 MySQL 数据库中用户名为
root
,主机名为localhost
的用户的密码。如果这步报错,显示的不是Query OK,则是因为没有将密码置空,重新返回上一步进行操作即可。
〘终端三:登录验证重置的密码〙
(1)关闭上述两个终端,重新再开启一个(⚠️注意:一定要使用管理员权限开启),执行命令:
net start "MySQL服务名"
(2)使用重置后的密码连接数据库。命令如下:执行后在Enter password后输入新密码登录即可
mysql -u root -p