【踩坑】如何强制更改Docker容器中的Mysql密码(忘记密码)

Docker 同时被 3 个专栏收录
16 篇文章 8 订阅
15 篇文章 0 订阅
8 篇文章 1 订阅

问题描述

使用docker容器时,通过镜像安装了Mysql5.6版本,但忘记了root密码,需要重新设置root密码

 

解决步骤

1. 增加“忘记密码启动”模式

2. 重新设置root密码

3. 删掉“忘记密码启动”模式

4. 重启容器镜像即可

 

具体操作

1. 通过docker exec命令进入容器内

docker exec -it db002 /bin/sh

注:db002是我安装mysql数据库的容器名

 

2. 编辑mysql配置文件,增加“忘记密码启动”模式:skip-grant-tables

vi /etc/mysql/conf.d/docker.cnf

注:编辑的配置文件不是/etc/mysql/my.cnf,也不是/etc/mysql/mysql.cnf或/etc/mysql/conf.d/mysql.cnf

如果提示:bash: vi: command not found,则阅读文章:如何在Docker容器中安装vim工具

最终配置文件docker.cnf内容如下:

[mysqld]
skip-host-cache
skip-name-resolve
skip-grant-tables

操作图参考:

 

3. 退出容器,重启容器实例

操作图参考:

 

4. 通过步骤1再次进入容器,输入myql命令,免密码直接登录mysql

操作图参考:

5. 设置root用户新密码:a123456。刷新权限,退出mysql

#切换实例,user表位于mysql实例下
mysql> use mysql;
#更改root密码
mysql> UPDATE user SET Password = password ( 'a123456' ) WHERE User = 'root';
# 刷新权限
mysql> flush privileges;
# 退出
mysql> quit

操作图参考:

6. 重新编辑mysql配置文件docker.cnf,删掉“忘记密码启动”模式

vi /etc/mysql/conf.d/docker.cnf

7. 退出容器重启容器即可

docker restart db002

 

参考资料

1. docker mysql官方资料:https://hub.docker.com/_/mysql

2. Mysql之重置密码、忘记密码:https://blog.csdn.net/yelllowcong/article/details/79641313

3. Docker常用命令:https://blog.csdn.net/hemin1003/article/details/52812978

4. 如何在Docker容器中安装vim工具:https://blog.csdn.net/hemin1003/article/details/89633609

5. Docker系列~安装MySQL(五):https://blog.csdn.net/hemin1003/article/details/52808736

 

 

------------------------------------------------------

------------------------------------------------------

 

关于我(个人域名)

我的开源项目集Github

 

期望和大家一起学习,共同进步,共勉,O(∩_∩)O谢谢

欢迎交流问题,可加个人QQ 469580884,

或者,加我的群号 751925591,一起探讨交流问题

不讲虚的,只做实干家

Talk is cheap,show me the code

  • 4
    点赞
  • 2
    评论
  • 11
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值