前言

上次电脑中的 数据库突然登录不上了,显示我的密码错误。
但是我自己并没有动过我的数据库,弄了好久总算解决,在这里记录。
这里的方法好像会造成数据库数据的丢失,当时记录的不是很详细,现在有的同学用这个做直接丢失了数据。然后我从别的博客里看到了其他方法,在这里也记录一下。

跳过权限表验证方法

  1. 关闭正在运行的MySQL服务。net stop mysql
  2. 转到mysql\bin目录: cd C:\program files\mysql\bin;
  3. 输入mysqld --skip-grant-tables 回车。 --skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
  4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了,也不能关闭)。转到mysql\bin目录: cd C:\program files\mysql\bin;
  5. 输入mysq l回车,如果成功,将出现mysql >
  6. 链接权限数据库:use mysql;
  7. 改密码:update user set password=password(“admin”) where user=“root”;(别忘了最后加分号)
    5.7的是 update user set authentication_string=password(“admin”) where user=“root”;
  8. 刷新权限(必须步骤):flush privileges;
  9. 退出 quit。
  10. 注销系统,再进入。dos下,net start mysql,net mysql -uroot -padmin可以登录。
文件中查找

如果一开始没有,还是建议不要采用这种方法了。我今天试了一下,找到了那个密码也登陆不进去。具体的也不太明白。

1.首先查看自己的MySQL安装目录下有没有data文件夹,和bin目录是同级的。要是有就删除,然后执行下列操作。没有就直接执行操作:

2. 以管理员身份运行 cmd。遇到个同学,可能我强调的不够明显,就没有以管理员身份运行,然后出现以下问题:

mysql输入密码后等很久 mysql输入密码错误_mysql


3. 输入命令:mysqld --initialize,这个之后 重新登录时会产生一个随机密码。存在data文件夹中。查找方式:

从计算机文件夹里找到这个随机密码:

    文件目录:**mysql\data\ .err 文件 (这里根据你自己的mysql安装地址);

    这个可能是一个隐藏地址,搜索 *.err 就可以找出来

    里面有一个 A temporary password is.... 后面会跟密码

mysql输入密码后等很久 mysql输入密码错误_MySQL无法登陆_02


如果没有,就关闭MySQL服务,删除data文件夹,再重新以管理员身份运行,然后查找。

3.进入到mysql中

mysql> set password for root@localhost = password('123'); 改密码
完成

还有之前显示服务器无法启动,第一步打开电脑的服务,确定mysql已经启动。