Windows系统下MySQL忘记root密码的2种解决办法
作者:老苏畅谈运维
这篇文章主要介绍了Windows系统下MySQL忘记root密码的2种解决办法,一种是通过启动MySQL时跳过权限表验证,然后重置密码,另一种是创建一个包含新密码的文本文件,并通过MySQL的--init-file选项来应用该文件中的密码设置,需要的朋友可以参考下
方法1:
对于忘记MySQL root用户密码,常规的解决方法是启动的时候加 skip-grant-tables 选项,在绕过密码认证之后,进入MySQL数据库系统,以便进行修复或重置密码等操作。
在window下,怎么操作呢,接下来为您介绍。
1、window下关闭MySQL相关服务
打开cmd窗口,我这里MySQL服务名称设置为了MySQL8031,所以这里是 net stop mysql8031
2、重新启动MySQL
用下面的命令启动MySQL服务
C:\Users\Administrator>cd /d D:\MySQL8031\bin D:\MySQL8031\bin>mysqld --console --skip-grant-tables --shared-memory
通过mysqld --console --skip-grant-tables --shared-memory 启动可以跳过密码验证
3、打开另外一个cmd窗口登录MySQL
C:\Users\Administrator>cd /d D:\MySQL8031\bin D:\MySQL8031\bin>mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 8.0.31 MySQL Community Server - GPL Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
4、设置新的root密码
update mysql.user set authentication_string='' where user='root'; flush privileges; ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
5、关闭上述终端,重新启动mysql
net start mysql8031
这样就可以用修改后的密码登录进去了
C:\Users\Administrator>cd /d D:\MySQL8031\bin\ D:\MySQL8031\bin>mysql -uroot -proot mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.31 MySQL Community Server - GPL Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
方法2:
接下来,介绍另外一种更简单的方式。
新建一个newpass.txt文件(可以将它放在my.ini同目录)文件内容为:
ALTER user root@'localhost' identified by 'root';
关闭MySQL服务:
net stop mysql8031
用下面的命令启动MySQL服务:
D:\MySQL8031\bin\mysqld.exe --defaults-file=“D:\MySQL8031\my.ini” --init-file=“D:\MySQL8031\newpass.txt”
具体的my.ini文件和newpass.txt文件要改成实际的位置
命令执行后界面没有变化执行下一步。
按Ctrl+C终止运行,并重新启动Windows服务
总结
到此这篇关于Windows系统下MySQL忘记root密码的2种解决办法的文章就介绍到这了,更多相关Windows MySQL忘记root密码解决内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!