当前位置:首页 » 《资源分享》 » 正文

Docker - Docker启动的MySql修改密码

24 人参与  2024年03月23日 15:05  分类 : 《资源分享》  评论

点击全文阅读


基于上篇文章《Docker - Docker安装MySql并启动》,在Docker中启动了mysql服务,但是密码设置成了123456,想起来学生时代数据库被盗走,然后邮箱收到被勒索BTC的场景还历历在目?,密码不能再设置这么简单了啊!

在这里插入图片描述

目录

前置操作错误的操作上述错误操作不生效原因正确操作

前置操作

使用以下命令创建了一个MySQL容器,并设置了MySQL的root密码为123456

docker run -p 3306:3306 --name mysql -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/logs:/logs -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

错误的操作

因为自己实践了错误操作,所以就把错误的操作记录一下,防止再走弯路

登录mysql
docker exec -it mysql-container mysql -u root -p
修改用户对应的密码
ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';
修改完密码后,退出MySQL命令行并断开连接
exit
重新连接到MySQL容器以验证新密码是否有效
docker exec -it mysql mysql -u root -p

本来以为这样操作后,密码就成功修改了,但是发现输入新密码不起作用,还是需要输入老密码才能正确登录,还是没有修改成功!
在这里插入图片描述

于是在考虑会不会是mysql的docker服务没有删除的原因导致,于是有了下述操作

停止正在运行的MySQL容器
docker stop <container_name_or_id>
删除已停止的MySQL容器
docker rm <container_name_or_id>
创建一个新的MySQL容器,并设置一个新的root密码。如下所示:
docker run -p 3306:3306 --name mysql -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/logs:/logs -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=dewfwe -d mysql:5.7

结果执行登录mysql的命令时,还是需要原来的密码才可以登录,看来还是操作有误

在这里插入图片描述


上述错误操作不生效原因

询问GPT的回答:Docker容器的数据卷(volumes)通常用于持久化存储容器内的数据,包括配置文件和数据库文件等。在上述的情况中,执行的操作是修改MySQL了的root密码,但密码没有被正确更新,这说明有极大的可能是与Docker容器的数据卷有关,即可能是数据库密码被持久化存储了

确实应该是gpt阐述的原因

docker run -p 3306:3306 --name mysql -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/logs:/logs -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

看上面执行的命令操作,我将容器内的配置文件、日志和数据挂载到主机的目录。这就意味着MySQL的数据和配置都存储在这些挂载的主机目录中,而不是容器内部。

即使我执行了停止并删除容器的操作,但是对于docker来说,这些挂载的目录并没有被删除,因此MySQL的数据和配置文件仍然存在于主机上。我再怎么去修改密码,也是徒劳无功的。

所以缺少的一步操作是:需要删除之前挂载的数据目录


正确操作

前置操作是一致的

停止并删除之前的MySQL容器 使用docker stop mysqldocker rm mysql来停止和删除容器 删除之前挂载的数据目录 使用sudo rm -rf /docker/mysql/data来删除之前的数据目录。 使用新的密码创建一个新的MySQL容器:
docker run -p 3306:3306 --name mysql -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/logs:/logs -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=cwfwef -d mysql:5.7

按照上述操作后,再去重新连接到MySQL容器用新密码登录,即可成功登录

docker exec -it mysql mysql -u root -p

出现如下图,就说明使用新密码登录成功了
在这里插入图片描述

妈妈再也不用担心我被勒索BTC了?!


点击全文阅读


本文链接:http://zhangshiyu.com/post/84363.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 洛甯陆乘渊::结局+番外评价五颗星-闪婚老公是卧底,消失三年回来了:结局+番外新上热文
  • 前传孟流年周丽珍续集(孟流年周丽珍)终章阅读极简(孟流年周丽珍)
  • 夏语栀祁墨寒我们各归人海,此生,也不必再见彩蛋小说结尾+附加(我们各归人海,此生,也不必再见)清爽版阅读
  • 重生下乡嫁糙汉,渣男全家悔哭了小说完结篇(师明凯颜惜雪)(重生下乡嫁糙汉,渣男全家悔哭了)全书无套路阅读无广告小说大结局
  • 他拿我取悦白月光,我离开后他悔哭了在线阅读_江宴苏晴晴方梨高分言情_小说后续在线阅读_无删减免费完结_
  • (王爷一晚亲七次,弃妇怂了!)云苏月延伸在线下载无广告章节清单
  • 在线阅读(我是让他不屑一顾,不愿多看一眼的路人)安喻意商晋深:结局+番外看点十足全文+后续
  • 混沌流年小说(孟流年周丽珍)序章+全章阅读(混沌流年)最新章节
  • 相亲闪婚随军,真千金有亿万物资小说(相亲闪婚随军,真千金有亿万物资)(陆婉婉霍凌寒)前传+阅读全新作品预订
  • 全书浏览江月年年人不还精彩剧情(沈默渊许愿)_江月年年人不还精彩剧情(沈默渊许愿)全书结局
  • 竹马的爱意***新上_江珉周絮玉佩校园甜文_小说后续在线阅读_无删减免费完结_
  • 她在黎明等待观看书荒列表_她在黎明等待观看书荒(苏野时晚晴)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1