【问题解决】MySQL忘记密码如何找回

        个人主要参照了这一篇博客,但是重置密码失败,于是找回了原先密码,内容会有重复,且主要是对个人遇到的问题进行存档。mysql忘记密码如何重置密码,以及修改root密码的三种方法 - 虞岩 - 博客园 (cnblogs.com)        

        A、起因        

        问题起因是在启动mysql,执行

service mysqld start

        时报错,报Redirecting to /bin/systemctl start错误,按照其它帖子,执行下面语句

systemctl restart mysqld.service

后无响应,只能通过ctrl+c强制退出,于是先去解决该问题,通过其它帖子参考执行该语句

sudo mysql_install_db --user=mysql --ldata=/var/lib/mysql

再键入

systemctl start mysqld

        此时可以运行,没有再停滞,但是输入mysql -u root -p启动命令后发现密码忘了,导致一直报错误

        Access denied for user 'root'@'localhost' (using password: YES/NO) 

        密码校验未通过

         所以主要问题变为忘记密码如何找回或重置。

        B、找回密码

       1、 首先确保mysql处于停止状态

systemctl  stop mysqld

systemctl status mysqld

systemctl stop mysqld 停止mysql运行        

systemctl status mysqld 查看mysql状态,用以确认mysql是运行还是停止状态,避免之后出错。

 

 查看Active:后面的英文(绿色块),如果是active就是在运行,是inactive(deaddd)就代表以及关闭Mysql。

2、跳过授权表,启动Mysql

打开授权表进行信息更改:

vi  /etc/my.cnf

vi /etc/my.cnf  利用编辑器打开此配置文件

使用i等字母键盘进入编辑状态,进入编辑状态最下面会出现insert或者插入代表可编辑,此时可以对文档进行更改。

 

 添加跳过命令,并且保存退出。记得最后找回密码后要删掉这条语句哦。

skip_grant_tables 

 编辑完成后点击esc键退出编辑状态,而后输入 :wq 进行保存退出操作。而后启动Mysql

systemctl start mysqld

         3、登入mysql查找自己的密码账号并且进行解密。

        此时可以使用msyql命令语句不输入密码账号直接进入,不要输入mysql -u root这样需要密码,反而会出错。

mysql

        输入select语句查找所有用户名和密码,密码是用MD5加密后的,所以需要解密,可以自行搜索,也可以在以下网站里解密(免费但需要登录):https://md5.cc

select * from mysql.user;

         这样,就知道自己的账号密码了。记得要把刚才的skip语句删掉哦。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值