study
study
发布于 2025-09-03 / 10 阅读
0
0

mysql忘记密码重置

方法一:

sc query mysql

// 停止服务
net stop MYSQL80

#新建一个mysql-init.txt文件,写入修改密码命令
alter user 'root'@'localhost' identified by '123456qq';

mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file="C:\\Program Files\\MySQL\\MySQL Server 8.0\\mysql-init.txt" --console 

mysqld --init-file="C:\\Program Files\\MySQL\\MySQL Server 8.0\\mysql-init.txt" --console
net start MYSQL80

退出,重新启用服务
net start MYSQL80
用新密码登录

方法二:(5.7和8.0均适用)标红的地方表示可能需要根据自己电脑的安装情况进行修改

1、Windows+R键打开运行,输入services.msc点击确定,然后找到mysql的服务,这里是MySQL57

descript

descript2、右键点击停止mysql服务

或者在管理员权限的命令行中使用net stop命令停止mysql服务

descript3、打开一个管理员权限的cmd命令行,然后输入mysqld命令使得mysql跳过权限验证运行,执行完这里会卡住,是正常现象,表示mysql已经跳过权限验证在运行了

mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --shared-memory --skip-grant-tables

descript

  • 这里需要注意,--defaults-file命令不一定要使用,需要先查看mysql安装目录是否有my.ini文件,如果没有才需要设置。如果有可以不需要设置(设置了也行,所以如果不想思考太多就全部都设置

    • 如果在mysql目录下(就是跟bin文件夹同级目录下)没有my.ini文件,就需要到C盘的ProgramData目录下找到mysql,去里面找到my.ini文件,--defaults-file的值就是my.ini的目录所在

    • 注意C盘的ProgramData文件夹是一个隐藏文件,如果找不到,需要设置显示隐藏文件

descript

descript

  • 如果还找不到my.ini的路径,可以在第2步找到的mysql服务中寻找,双击打开就能看到(如果挡住了就按住鼠标左键往右移动)

descript4、卡住的cmd命令行不要动,打开一个新的cmd命令行(可以不用管理员权限打开),然后不需要输入密码直接登录mysql

mysql

descript

5、修改密码

// 重新加载权限表
flush privileges;

// 修改root用户的密码,比如修改成666666
alter user 'root'@'localhost' identified by '666666';

descript

6、在管理员权限的cmd中退出卡住的状态(使用Ctrl+Z或者Ctrl+C,直接关闭命令行也行),然后在服务中启动mysql服务

descript7、在一个新的cmd命令行中,用修改后的密码登录mysql

mysql -uroot -p666666


评论