在 docker 里面运行 MySQL 遇到的诡异事件

2018-08-29 10:48:41 +08:00
 shazh520

同样的命令,但是设置的 root 密码不一样,一个能够连接上而另一个就出现了问题。

第一次

命令: docker run -d --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Xh_1233. -p 3306:3306 mysql:5.7.23

结果:成功连接

第二次

命令: docker run -d --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123 -p 3306:3306 mysql:5.7.23

结果: 通过 navicat 连接的时候出现1045 - Access denied for user 'root'@'172.17.0.1' (using password: YES)

我在网上查了一些资料,没发现什么。我想是不是 MySQL 官方的 image 对这个 root 密码有特殊的要求,我去 docker hub 上看也没有发现对环境变量 MYSQL_ROOT_PASSWORD 有什么特殊的约定啊,这个是怎么回事有前辈知道不?望指点

3600 次点击
所在节点    Docker
2 条回复
wfd0807
2018-08-29 10:53:16 +08:00
mysql-data 这个 volume 在第一次运行的时候就创建成功了,当你第二次使用这个 volume 运行容器的时候,对于容器中的 mysql 来说,数据库已经创建好了,岂能再改密码?
shazh520
2018-08-29 10:54:10 +08:00
@wfd0807 前辈厉害,一下子就点醒了我 谢谢谢谢 谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/484180

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX