docker基於mysql映象構建mysql容器忘記密碼解決辦法
阿新 • • 發佈:2020-11-07
環境:
[root@master-106 ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@master-106 ~]# docker --version Docker version 19.03.13, build 4484c46d9d MySQL 5.7.31 # 進入mysql容器 [root@master-106 ~]# docker ps|grep mysql 05759803adb9 mysql:5.7 "docker-entrypoint.s…" 6 weeks ago Up 4 minutes 3306/tcp, 33060/tcp wordpress_db_1 [root@master-106 ~]# docker exec -it 05759803adb9 /bin/bash # 更新apt apt-get update # 安裝vim, 預設mysql映象中沒有安裝vi或vim apt-get install vim # 編輯mysql配置檔案 root@05759803adb9:/# vim /etc/mysql/conf.d/docker.cnf # 新增如下一行 skip-grant-tables # 重啟資料庫 service mysql restart # 重新進入容器,登入mysql [root@master-106 ~]# docker exec -it 05759803adb9 /bin/bash root@05759803adb9:/# mysql -uroot -p Enter password: # 直接回車 mysql> use mysql; # mysql 5.7之前版本 update user set authentication_string=password('新密碼') where user="root"; # mysql 5.7之後版本 update user set authentication_string=password('新密碼') where user="root"; # 退出資料庫 mysql> exit # 刪除剛才在配置檔案中新增的一行 # /etc/mysql/conf.d/docker.cnf skip-grant-tables # 重啟資料庫 service mysql restart # 重新進入容器,登入mysql使用新密碼驗證 [root@master-106 ~]# docker exec -it 05759803adb9 /bin/bash root@05759803adb9:/# mysql -uroot -p123456 # 結果是ok的.