修改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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM