修改docker中mysql登入密码(包括容器内和本地远程登入的密码)
Posted 一个九零後的程序猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改docker中mysql登入密码(包括容器内和本地远程登入的密码)相关的知识,希望对你有一定的参考价值。
查看docker中正在运行的容器
docker ps
进入MySQL 容器中
sudo docker exec -it cd800a1cd503 /bin/bash
在容器中: /etc/mysql/conf.d/ 下有 docker.cnf 文件
在 docker.cnf 文件中追加 skip-grant-tables 这一步为了安全起见先把容器内的配置文件拷贝到宿主机中,命令如下:
docker cp cd800a1cd503:/etc/mysql/conf.d/docker.cnf /home/
然后打开Xftp,进入到home文件夹中就能看到docker.cnf文件了,打开它,
在文件中最后一行追加 skip-grant-tables 记得保存,然后再把文件推送到容器内,命令如下:
docker cp /home/docker.cnf cd800a1cd503:/etc/mysql/conf.d/
再进入MySQL容器中,输入myql命令,免密码直接登录mysql
sudo docker exec -it cd800a1cd503 /bin/bash
设置root用户新密码:a123456。刷新权限,退出mysql
#切换实例,user表位于mysql实例下 mysql> use mysql; #更改root密码 mysql> UPDATE user SET Password = password ( \'a123456\' ) WHERE User = \'root\'; # 刷新权限 mysql> flush privileges; # 退出 mysql> quit
重新编辑mysql配置文件docker.cnf,删掉“忘记密码启动”模式,
删除: skip-grant-tables
最后再把文件推送到容器内,重启mysql容器,现在容器内和远程登入的密码是一致性了!
如果之前您误操作导致容器启动不起来,请看我上一篇文章:https://www.cnblogs.com/javagg/p/13066849.html
以上是关于修改docker中mysql登入密码(包括容器内和本地远程登入的密码)的主要内容,如果未能解决你的问题,请参考以下文章
修改Docker容器内的MySQL服务密码,并成功完成可视化工具登录绝对有效
修改Docker容器内的MySQL服务密码,并成功完成可视化工具登录绝对有效