docker部署Mysql8一直密码错误记录
正常流程是这样得:
第一步 #拉镜像
docker pull mysql:8.0
第二步 #运行名为 mysql8 得容器 ,MYSQL_ROOT_PASSWORD=123456 设置密码
docker run -p 3307:3306 \ --name mysql8 \ -e MYSQL_ROOT_PASSWORD=123456 \ -v /docker/mysql8/data:/var/lib/mysql \ -d mysql:8
第三步 #进入 MySQL 容器
docker exec -it mysql8 bash
第四步 #登录 MySQL
mysql -u root -p
这时候可能是我忘记密码了,然后我删除容器
docker stop mysql8 #停止
docker rm mysql8 #删除
最后发现原因是:数据目录挂载问题
因为之前执行过 docker
挂载 MySQL 容器,且 /docker/mysql8/data
目录下已有之前的缓冲数据,新容器启动时,由于两次挂载的 MySQL 容器密码不一致,就会导致登录不成功。
-
解决办法:删除
/docker/mysql8/data
目录下的文件,停止并删除当前的 MySQL 容器,然后重新执行docker run
命令创建容器。具体操作如下:
rm -rf /docker/mysql8/data/*
然后再次重复上面得第二、三、四步 ,输入密码123456就正常了。
然后继续我得操作...设置 允许 root
用户从任何 IP 地址连接:
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
....