Docker容器内mysql忘记密码如何重置?

最直接办法是重新部署个容器,但是这样就要重新配置了,有点麻烦。

另外一种方法

1.先进入到容器内部,找到mysql的配置文件my.cnf,我的是mysql8,路径是在/etc/my.cnf。

docker exec -it mysql8 bash

在这里插入图片描述
2. 另起一个窗口把容器内配置复制出来(如果已经挂载的话直接改宿主机的配置文件即可,跳到第三点)。

docker cp 容器长ID:docker容器路径 你的文件路径  #复制出来
docker cp 你的文件路径 容器长ID:docker容器路径  #复制到容器

3.修改配置文件,在配置文件加入skip-grant-tables
在这里插入图片描述
4.把文件复制进去后,重启mysql容器,在进入容器内部,直接mysql -uroot -p,不需要输入密码,直接enter。
在这里插入图片描述
接下来输入命令

flush privileges;
alter user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';  
#@之后对的‘%’根据你的实际情况来,有些人是localhost。

5.然后把配置文件添加的语句注释掉,重启容器,重新输入密码,完成。
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值