如果在Windows下忘记了MySQL的密码,可以这样做:
1.关闭正在运行的MySQL服务:
在CMD中输入net stop mysql或者在Windows+r 调出运行窗口输入services.msc,在服务中手动停止mysql服务
例如方法1:
C:\Users\Administrator>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。
方法2:
2.转到mysql的bin目录下
比如我的目录在D:\mysql-5.6.45-winx64\bin
3.直接输入:
mysqld –skip-grant-tables
如果输mysqld–skip-grant-tables一直是2003错误,是这条语句对mysql8.0不起作用
尝试使用
mysqld --console --skip-grant-tables --shared-memory
然后回车,如果没有错误信息,就行了;
注:skip-grant-tables参数用了之后,就可以跳过登录校验;
代码如下
140317 13:23:11 [Warning] option ‘new’: boolean value ‘t’ wasn’t recognized. Set
to OFF.
4.再打开一个命令行
(因为刚才那个DOS窗口已经不能动了),按同样的方式在bin目录下打开;
5.直接输入 mysql 并回车,如果成功,将出现MySQL提示符 >
D:\wampserver\MySQL\bin>mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.35 MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
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>
6.切换到mysql表
mysql>USE mysql;
7.可以修改密码了:
UPDATE user SET password=PASSWORD("123456") WHERE user="root";
8.刷新权限,不要忘记了:
mysql>FLUSH PRIVILEGES;
9.退出
mysql>quit;
10.重启mysql服务然后用新密码进入即可,至此完成
新版本的
shell> mysql -u root --skip-password
1. After connecting, assign a new root password:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';