经过笔者长达近1个小时的搜索,终于找到了原因,看了其他几篇博客,之说了解决的办法,却没说docker登录Mysql提示密码错误的原因是是啥,遇到这个问题特此记录。
本质上你登陆不上的原因,就是密码不对,但是我明明不是用了
docker run -p 3306:3306 --name mysql8 \
--mount type=bind,src=/opt/mysql/log,dst=/var/log/mysql \
--mount type=bind,src=/opt/mysql/data,dst=/var/lib/mysql \
--mount type=bind,src=/opt/mysql/my.cnf,dst=/etc/my.cnf \
-e MYSQL_ROOT_PASSWORD=abc123 -d mysql:8.0.32
来启动指定密码吗?为啥还不对呢?
因为数据挂载的data不对
我举个例子比如你的data是你之前挂载过的,那么你之前的密码比如是qwer123,由于这个data是挂载在你宿主机上的,那么你每次启动就还是原来的qwer123,无论你新设置的环境变量是啥,都不好使,因为之前你挂载的data就没删掉,还是旧的,root密码就是qwer123。
所以解决密码错误的方式
- 删掉原来的data挂载目录下的文件,整个空白的,然后让他重新生成
- 使用原来的第一次挂载的data时你指定的密码