需要注意的是:这篇文章解决的是Windows操作系统下的MySQL密码问题,如果是mac或者是linux的请移步其他博主的博客。

 现在很多APP,及其服务为了安全着想,都需要设置密码,而 当我们设置的密码逐渐增多时,难免会忘记自己一开始设置的密码是什么,这个时候我们就需要进行找回密码或者是修改密码操作。这不,在今天当我想要使用MySQL数据库时,却将mysql57的root密码忘记了,怎么都想不起来。于是我就到网上去查找相关的方法,结果都不行。虽然有些方法和指令使用后可以修改,但是修改后却都没有生效。

‘皇天不负有心人’,虽然最后还是搞了出来,但是却是花费了足足两天的时间,中间尝试了数十遍。想着大家应该也会遇到类似的这种烦人问题,于是写下这篇文章,记录且作为一个分享。

也不用去结合多篇文章来看了。这一篇就行,如果按照步骤后还是不能找回自己的密码,请在评论区回复留言。

目录

一,关闭mysql服务进程

二, 跳过授权表

三,无密码登录MySQL

四,连接权限数据库

五,修改root用户密码 

六,打开MySQL服务

======================================================================

一,关闭mysql服务进程

mysql 未开启密码复杂度_数据库

如下我的mysql数据库管理系统下的bin目录为:E:\StudyForCL\MySQL\Mysql5.7\bin

mysql 未开启密码复杂度_windows_02

 接下来我们将其删除,写入“cmd”,进入命令行窗口(终端)

mysql 未开启密码复杂度_MySQL_03

 接着我们输入net  stop mysql 命令,如果出现如下的“拒绝访问”的话,当前操作用户的权限太低

mysql 未开启密码复杂度_MySQL_04

我们可以到电脑的本地搜索或者是是开始菜单里面去找cmd,然后右击“以管理员身份运行

 

mysql 未开启密码复杂度_数据库_05

 之后我们去停止服务就可以了,如下:

mysql 未开启密码复杂度_mysql_06

二, 跳过授权表

首先我们需要先加入我们要修改的dbms的bin目录下,如:E:\StudyForCL\MySQL\MySQL Server 5.7\bin

输入指令:

mysqld --defaults-file="E:\StudyForCL\MySQL\Mysql5.7_data\my.ini"  --skip-grant-tables

--skip-grant-tables  强制mysqld忽略权限设置启动既无权限控制—所以用户均是super权限;

可以不使用权限系统来启动服务器,让任何用户可以访问服务器并不受限制的访问所有数据库

mysql 未开启密码复杂度_mysql_07


三,无密码登录MySQL

之前我们使用跳过授权表的指令后,cmd命令行窗口无法输入其它指令,因此我们需要重新开一个窗口,然后如下:输入MySQL的用户名,端口号,直接回车。

指令:mysql -uroot -P3306

mysql 未开启密码复杂度_mysql 未开启密码复杂度_08

四,连接权限数据库

 出现mysql提示符后我们再接着连接权限数据库:use mysql;

mysql 未开启密码复杂度_MySQL_09


五,修改root用户密码 

 现在我们去修改密码:

1,update  user set authentication_string=password('root12345')  where user='root' and  Host='localhost';

mysql 未开启密码复杂度_数据库_10


 接着我们需要去刷新我们的权限,让我们的修改生效:flush privileges;

mysql 未开启密码复杂度_mysql_11


 我们现在退出mysql命令行,回到cmd命令行窗口下:quit

mysql 未开启密码复杂度_MySQL_12


六,打开并连接MySQL服务 

之后我们再去重启mysql服务

【这里需要提前将之前打开的跳过权限表的窗口关闭,不然mysql启动就会失败。】

最后使用我们修改后的密码登录。如下登录成功。

mysql 未开启密码复杂度_数据库_13

如果帮助到了大家的话,请点个免费的赞。

如果还有问题的话,请在评论区留言。