Docker容器MySQL8.0忘记密码手把手教解决方法

Docker容器MySQL8.0忘记密码手把手教解决方法

        • 1.首先启动mysql容器
        • 2.编辑mysql配置文件
        • 3.添加内容
        • 4.修改完之后
          • **使用exit命令退出容器,重启容器**,而不是重启整个mysql服务!这样会报无法识别的错误,容器启动不了,如下图。
          • 4.1 如果重启了整个mysql服务
        • 5.重新进入mysql容器
        • 6.配置
        • 7.注释或删除刚才在mysql中的配置文件添加的语句
          • skip-grant-tables
        • 8.在docker中重启mysql数据库
        • 9.重新进入mysql容器,使用新密码登录mysql即可
        • 10.部分参考

1.首先启动mysql容器

docker exec -it mysql /bin/bash (docker exec -it 容器名 /bin/bash)

2.编辑mysql配置文件

这里非常重要,不要写 vi /etc/mysql/my.cnf
而是 vi /etc/mysql/conf.d/docker.cnf

3.添加内容

进行i操作,添加skip-grant-tables。这句话的意思是进入忘记密码模式
Docker容器MySQL8.0忘记密码手把手教解决方法_第1张图片

随后esc->输入:wq;

完成编辑。

4.修改完之后

使用exit命令退出容器,重启容器,而不是重启整个mysql服务!这样会报无法识别的错误,容器启动不了,如下图。

Docker容器MySQL8.0忘记密码手把手教解决方法_第2张图片

4.1 如果重启了整个mysql服务

​ 对容器里的docker.cnf拷贝到 /home/test/这个路径。

docker cp mysql:/etc/mysql/conf.d/docker.cnf /home/test/docker.cnf

再删除skip-grant-tables。

重新拷贝到mysql:/etc/mysql/conf.d/docker.cnf。

docker cp /home/test/docker.cnf mysql:/etc/mysql/conf.d/docker.cnf

然后重复之前的步骤,记得不要重启这个mysql服务!

5.重新进入mysql容器

docker exec -it mysql /bin/bash

然后输入mysql -u root -p

提示你输入密码,直接回车,免密。

6.配置

docker exec -it mysql /bin/bash
root@eb540a56a527:/# mysql -u root -p
Enter password:   # 不用输入密码直接回车enter
mysql> use mysql;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';#更改加密方式
mysql>alter user 'root'@'localhost' IDENTIFIED BY '123456';#设置密码
FLUSH PRIVILEGES;
# 退出数据库
mysql> exit

如果出现The MySQL server is running with the --skip-grant-tables option so it cannot execute这样的错误,

flush privileges刷新一下就好。

7.注释或删除刚才在mysql中的配置文件添加的语句

root@mysql:/# vim /etc/mysql/conf.d/docker.cnf

skip-grant-tables

8.在docker中重启mysql数据库

docker restart mysql

9.重新进入mysql容器,使用新密码登录mysql即可

10.部分参考

https://blog.csdn.net/java_python3/article/details/116590633?ops_request_misc=&request_id=&biz_id=102&utm_term=docker%20mysql8%E9%87%8D%E7%BD%AE%E5%AF%86%E7%A0%81&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-7-116590633.pc_search_mgc_flag&spm=1018.2226.3001.4187;

你可能感兴趣的:(学习过程中的错误,docker,容器,mysql)