查看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