docker创建mysql数据库的一个暗坑

526 阅读1分钟

今天要在测试环境部署一台mysql5.7,计划是用docker部署,简单快速。

写了一个小shell脚本 内容是

docker run -d -e MYSQL_ROOT_PASSWORD=wbWYQBvC0gMi6$Gm --name mysql -v /home/soft/mysql-5.7/data:/var/lib/mysql -p 3306:3306 mysql:5.7

结果应用在访问数据库的时候一直报错,显示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

这个就很纳闷了,创建命令也很简单,为什么会报root账号的问题?

研究了好一会才发现,我的密码有问题,这个密码是用脚本自动生成的16位复杂密码,带有特殊符号。在这个密码中"Gm"成了变量,所以实际密码并不是wbWYQBvC0gMi6$Gm,真的很郁闷。