在学习mysql过程中,忘记登录密码,修改密码过程中又遇到各种问题,经过查询尝试最终解决,做如下笔记:

实际操作如下:

1、以管理员身份打开cmd,关闭MySQL。

net start//查看开始的服务,发现有mysql56

则使用net stop命令关闭。

net stop mysql56

2、跳过权限检查启动,进入安装目录bin下。

mysqld --skip-grant-tables

或者mysqld-nt --skip-grant-tables(提示没有这个命令)

失败,找到配置文件my-default.ini,打开并在[mysqld]下面加入skip-grant-tables。再执行上面一行命令。

3、不关闭当前窗口,再打开另一个命令行窗口。到mysql\bin目录下再输入mysql(C:\Program Files\MySQL\MySQL Server 5.6\bin)

4、进入 mysql>  后,连接数据库

use mysql;

5、修改密码

update user set password=password("new_password") where user="user_name";

这里可能出现Table 'mysql.user' doesn't exist.的错误提示。是由于某种原因,安装目录D:\ProgramData\MySQL\MySQL Server 5.6\data\mysql的user.frm、user.MYD、user.MYI三个文件被删除了,解决方法是在D:\Program Files\MySQL\MySQL Server 5.6\data\mysql下找到这三个文件并复制到D:\ProgramData\MySQL\MySQL Server 5.6\data\mysql里面。再执行修改密码的命令。

6、刷新权限

flush privileges;

7、退出

\q

8、重启mysql服务

说明:上面写的目寻是我机器上的目录,视自己的安装目录而定。关闭、重启mysql服务的方式有多种,可以用命令方式,也可以用计算机管理下的服务列表找到mysql服务进行操作。这整个操作步骤在linux下也适用,只是命令有点不一样。