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

285 字
1 分钟
Docker容器内mysql忘记密码如何重置?
最直接办法是重新部署个容器,但是这样就要重新配置了,有点麻烦。#

另外一种方法#

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

Terminal window
docker exec -it mysql8 bash

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

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

3.修改配置文件,在配置文件加入skip-grant-tables。#

4.把文件复制进去后,重启mysql容器,在进入容器内部,直接mysql -uroot -p,不需要输入密码,直接enter。#

接下来输入命令

Terminal window
flush privileges;
alter user 'root'@'%' IDENTIFIED WITH caching_sha2_password BY '123456';
#@之后对的‘%’根据你的实际情况来,有些人是localhost。
# caching_sha2_password为mysql8默认验证插件,mysql_native_password为mysql5的默认验证插件

5.然后把配置文件添加的语句注释掉,重启容器,重新输入密码,完成。#

完结!

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Docker容器内mysql忘记密码如何重置?
https://blog.xzhiyee.com/posts/docker1/
作者
小智
发布于
2026-09-17
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
小智
Hello, I'm XiaoZhi.
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
11
分类
2
标签
23
总字数
7,027
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.8
文章许可
CC BY-NC-SA 4.0