Mysql8.0 忘记密码怎么办

Mysql8.0 忘记密码怎么办

今天晨雨帮身边小伙伴解决了mysql8.0无法连接上的问题。中间碰到的一些问题和大家分享一下。

  1. 跳过密码登录时不成功
  2. 修改密码时不成功
  3. navicat连接时报#2000的问题

1.首先先停止mysql服务。可通过 net stop mysql 或者任务管理器中关闭。
在这里插入图片描述

2.我们进入命令提示符(管理员登陆)操作,进入mysql目录中bin文件夹下,mysql的启动方法与客户端启动方法都在这里面调用。当然我们需要用账号密码登录。
在这里插入图片描述
mysql8.0与其他版本不同的地方在于无法直接使用mysqld --skip-grant-tables来跳过密码登录。在这没深入研究,版本是不能这么做。在这我们使用mysqld -console --skip-grant-tables --shared-memory来跳过权限验证。

3.之后我们打开新cmd(管理员登录)再去mysql-bin目录下执行mysql发现已经可以进入mysql,这时候我们便可以对本地数据库进行相关操作。

  1. 首先我们先刷新我们的权限,flush privileges;然后修改密码。alter mysql.user root@localhost identified by 'newpasswd';
  2. 或者我们的个人信息存储在mysql库的user表中。我们可以使用select * from mysql.user;直接查找到root用户名下对应的密码。

在这里插入图片描述
当然此密码时md5加密的,但是机智的程序员们从网上搜下md5解密便能得到自己的密码。SODM5免费的。
在这里插入图片描述
4.但晨雨的小伙伴却依然不能依靠root和对应的密码连接上数据库,这是为啥子嘛。我一度怀疑他连接的不是自己本地的数据库,后面验证这个直觉很准确。后来发现小伙伴在映射域名时修改了root下的host。这儿root对应的host为通配符%,或者localhost便可以root用户名登陆,否则会连接不上哦。
在这里插入图片描述这儿可用update user set host = '%' where user = 'root';修改对应的host。
大功告成,我怀着激动的心情去navicat点下连接,#2000 unknowError。这又是啥子嘛。
经过一番挣扎,发现时SSL认证的问题,只要连接的时候在SSL中打勾便可。
在这里插入图片描述
大功告成,开心打卡。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值