修改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服务密码,并成功完成可视化工具登录绝对有效

修改Docker容器内的MySQL服务密码,并成功完成可视化工具登录绝对有效

MySQL如何快速禁用账户登入 & 如何复制/复用账户密码

MySQL修改密码以及忘记MySQL密码处理方式

MySQL如何快速禁用账户登入 & 如何复制/复用账户密码