mysql 忘记了密码怎么办

mysql 8.x.x 忘记了密码怎么办

  1. 停掉 mysql 服务
  2. 找到 usr/local/etc/my.cnf 文件 添加下面的内容来跳过登录mysql的权限验证, 保存
skip-grant-tables
  1. 重启 mysql 服务
  2. 直接登录 mysql
mysql -uroot
  1. 修改密码
update mysql.user set authentication_string='your new password' where user="root";
  1. 使用新密码登录
mysql -uroot -p "your new password"

原理分析

其实在mysql8 中,用户名和密码是存放在 mysql 这个数据库中的,默认mysql安装后有4个数据库

在这里插入图片描述

在mysql 数据库中有 user 表,里面存放登录用户信息,有一个用户名为 root 的用户 密码默认为空

在这里插入图片描述

密码不是password 而是 authentication_string 这里的密码当然是经过加密的,不同的版本有不同的加密方式
最常见的是MD5加密
在这里插入图片描述
密码不是password 而是 authentication_string 这里的密码当然是经过加密的,不同的版本有不同的加密方式
最常见的是MD5加密,不过不能直接在可视化界面里修改这个字段,因为你不能直接把你的未经过加密的密码填进去,而且你也不知道你的版本的数据库是采用哪种方式加密,下面有两种修改密码的方式

  1. 知道旧密码
mysqladmin -uroot -p 旧密码 password 新密码
  1. 忘记了旧密码

本文就是解决这个问题的,所以不再赘述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值