有不少小白在使用Windows进行搭建主机的时候,安装了一些环境后,其中有MySQL设置后,然后不少马大哈忘记了MySQL的密码,导致在一些程序安装及配置的时候无法进行。这个时候怎么办呢?重置密码呗?那么如何重置呢?这里搬主题就分享一下Windows环境下MySQL密码重置图文教程。
!!!数据无价,谨慎操作,操作之前做好服务器快照,方便操作失败回滚!!!
!!!数据无价,谨慎操作,操作之前做好服务器快照,方便操作失败回滚!!!
!!!数据无价,谨慎操作,操作之前做好服务器快照,方便操作失败回滚!!!
重要的事情说三遍,重要的事情提前说。
本篇以root用户为例,仅测试环境下操作,学习不要在生产环境下折腾。
常用情况:面板无法重设密码并且忘记root密码时、面板无法登录并且需要用到MySQL备份数据时(命令行备份数据下期出)、其他情况。
面板安装的MySQL路径在 D:\BtSoft\mysql\MySQL8.0\bin 下,这里的路径可以根据自己设置的盘符和MySQL版本更换为自己的。
前往这个路径后,在目录空白的地方,按住键盘左下角的SHIFT键的同时,按一下鼠标右键,唤醒右键菜单,找到“在此处打开powershell窗口”(低版本的Windows Server是cmd);
进入后输入cmd,即可继续我们的教程学习(如果你会powershell的话,使用powershell即可)。
1.打开命令窗口cmd后,输入命令,停止MySQL服务
net stop mysql
2.开启跳过密码验证登录的MySQL服务
mysqld --console --skip-grant-tables --shared-memory
3.在同一个MySQL路径下,打开一个新的cmd窗口,无密码登录MySQL,输入命令免密登录数据库,密码置为空,命令如下:
mysql -u root -p
4.使用mysql数据库:
use mysql;
5.查询用户(可省略):
select user from user;
6.更新指定用户的密码(示例root),注意提示,版本不同使用的命令不同,报错的话上网搜找解决方法:
#mysql 5.5和5.6 update user set password=password("bt123456") where user="root"; flush privileges;
#mysql 5.7 update user set authentication_string=password("bt123456") where user="root"; flush privileges;
#mysql 8.0 update my set autnentication_string=null where user="root"; flush privileges; alter user "root"@"localhost" identified with caching_sha2_password by "bt123456"; flush privileges;
7.退出:
quit或exit
8.在跳过密码验证登录的cmd窗口停止掉正在执行的命令:
按ctrl+c即可
9.启动mysql:
net start mysql
10.使用新密码登录:
mysql -u root -p
原文引用链接:MySQL忘记密码怎么办?Windows环境下MySQL密码重置图文教程 - 搬主题