现在Docker容器使用的越来越多,其中数据库就是最常用的一种,有的时候我们忘记了数据库的密码,可以通过手动调整的方式来解决问题
先通过docker exec -it xxxx bash的命令进入该容器(或者你也可以通过run的命令启动一个新的容器)
# 可以通过docker cp的命令把文件导出在本地后再导入容器内,也可以通过如下命令安装vim工具方便操作
yum/apt-get install vim
#进入mysql的配置文件
vim /etc/my.cnf
#在配置文件中添加一行(设置mysql为免密登录)
skip-grant-tables
#保存
:wq
#重启容器
docker restart mysql
#进入docker
docker exec -it mysql /bin/bash
#进入mysql
mysql -uroot -p
#此时已经没密码了直接回车
#切换数据库
use mysql;
#修改mysql的密码,password为你想要修改的密码,user为你需要修改的用户名称
update user set authentication_string=password('password') where user='user';
#刷新
flush privileges;
#退出mysql
exit
#进入配置文件,删除免密登陆的配置
vim /etc/my.cnf
#删除skip-grant-tables
#重启docker
docker restart mysql
#重新进入docker
docker exec -it mysql /bin/bash