今天在学习个东西的时候,用到数据库了!就简单的想自己的电脑装了mysql

可是发现好久不用mysql,发现自己的mysql密码忘了!以前没有遇到过这种情况!就在网上找了找能不能有找到密码的方法!

找到了,并试了一下,记录一下!

1、首先关闭正在运行的mysql服务

大概有三种方式:

1)在windows 任务管理器中结束 mysqld.exe 进程

2)管理工具里面的服务找到 mysql服务 ,将其停止

3)在dos窗口执行net stop mysql

在这里使用第三种方式:

<span >	</span>C:\Users\zhangjh>net stop mysql
<span >	</span>MySQL 服务正在停止.
<span >	</span>MySQL 服务已成功停止。


2、打开命令行,转到自己的mysql安装目录的bin目录下;



<span style="font-size:14px;">C:\Users\zhangjh>D:

D:\>cd D:\Program Files\MySQL\MySQL Server 5.5\bin

D:\Program Files\MySQL\MySQL Server 5.5\bin></span>



3、输入:mysqld -nt --skip-grant-tables 

然后回车,如果没有错误信息,就行了;
注:skip-grant-tables参数用了之后,就可以跳过登录校验; 

D:\Program Files\MySQL\MySQL Server 5.5\bin>mysqld -nt --skip-grant-tables
161023 20:10:23 [Warning] option 'new': boolean value 't' wasn't recognized. Set
 to OFF.



4、一定要重新打开一个dos窗口

(因为刚才那个DOS窗口已经不能动了),同样转到mysql的bin目录下;

5、直接输入 mysql 并回车,如果成功,将出现MySQL提示符mysql>

<span style="font-size:14px;">C:\Users\zhangjh>D:

D:\>cd D:\Program Files\MySQL\MySQL Server 5.5\bin

D:\Program Files\MySQL\MySQL Server 5.5\bin>mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.40 MySQL Community Server (GPL)

Copyright (c) 2000, 2014, 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></span>


6、切换到mysql表

mysql> use mysql;
Database changed
mysql>



7、这时就可以修改密码了:

mysql> use mysql;
Database changed
mysql> UPDATE user SET password=PASSWORD("123456") WHERE user="root";
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0


出现上面的情况,就是密码修改成功!

8、一定不要忘记,刷新权限:

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql>

9、

退出:退出的方法很多 有quit、exit、ctrl+c、\q 等等

10、最后一定要注销或重启计算机,然后打开MySQL服务,使用用户名root和设置的新密码就可以登录了。
11、最后提供几种mysql下修改密码的方法

大部分情况下,一般用户没有权限更改密码,只有申请了权限或root用户才可以更改密码; 

1)mysqladmin -u root password "123456";

如果root已经设置过密码,采用如下方法 

mysqladmin -u root password -p "123456";

2)用SET PASSWORD命令,不需要使用FLUSH PRIVILEGES; 

mysql -u root -p 
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

3) mysql> USE mysql; 
mysql> UPDATE user SET Password = PASSWORD('123456') WHERE user='root';