MySQL 密码丢失解决方案

在登陆 MySQL 时 , 密码遗忘会显示以下错误信息 .

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

如图 :
MySQL 密码丢失解决方案_第1张图片

这种错误由密码错误引起 ,那么密码丢失、遗忘情况下,如何解决 ?

解决办法就是重置密码

1 . 重置密码的第一步就是跳过 MySQL 的密码认证过程 , 方法如下 :

vi /etc/my.cnf (注意 : windows下修改的是 my.ini)

如图 :
MySQL 密码丢失解决方案_第2张图片

在my.cnf文件中搜索mysqld , 定位到 [mysqld] 文本段 :

/mysqld (在vi编辑状态下直接输入该命令可搜索文本内容)

如图 :
MySQL 密码丢失解决方案_第3张图片
在 [mysqld] 后面任意一行添加 ‘skip-grant-tables’ 用来跳过密码验证的过程
如图 :
MySQL 密码丢失解决方案_第4张图片
保存文档并退出 , 操作如下 :

  1. 按 ESC键 退出编辑模式
  2. 输入命令

    :wq

  3. 回车

如图 :
MySQL 密码丢失解决方案_第5张图片

如果需要查看是否保存成功 , 可以执行以下命令 :

cat /etc/my.cnf

2 . 接下来重启MySQL

重启MySQL , 有两种方式

/etc/init.d/mysqld restart
service mysqld restart

如图 :
MySQL 密码丢失解决方案_第6张图片

3 . 重启之后 , 输入 mysql 即可进入 mysql

MySQL 密码丢失解决方案_第7张图片

4 . 使用 sql 修改 root 密码

执行 sql 语句如下 :

use mysql;  (进入 mysql数据库)
update user set password=password("你的新密码") where user="root";    (修改密码)
flush privileges;   
(刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。­)
quit;  (退出)

如图 :
MySQL 密码丢失解决方案_第8张图片

命令执行结束 , root 账户已经被重置为新密码 .

5 . 编辑 my.cnf , 去掉第一步添加的内容 , 然后重启 MySQL .

MySQL 密码丢失解决方案_第9张图片
注销或删除以上内容
重启MySQL数据库
MySQL 密码丢失解决方案_第10张图片

大功告成

有一些新手 , 在刚接触linux时可能比较迷糊 , 目录结构不清楚 , 在自己的平台找不到 my.cnf 文件 .
那么可以通过以下方式进行搜索 :
whereis

你可能感兴趣的:(Mysql)