当我在 Docker 映像中使用 ubuntu 16.04 和最新的 mysql 5.7.19-0ubuntu0.16.04.1 时,会出现此错误消息。
可以做些什么来解决这个问题?
重现错误
获取Dockerfile
:
FROM ubuntu:16.04
RUN apt update
RUN DEBIAN_FRONTEND=noninteractive apt install -y mysql-server
Run Code Online (Sandbox Code Playgroud)
(也可在此处获得)
构建并运行:
docker build -t mysqlfail .
docker run -it mysqlfail tail -1 /var/log/mysql/error.log
Run Code Online (Sandbox Code Playgroud)
会显示以下错误日志:
2017-08-26T11:48:45.398445Z 1 [警告] root@localhost 是用空密码创建的!请考虑关闭 --initialize-insecure 选项。
这正是我们想要的:一个还没有设置 root 密码的 mysql。
在过去(ubuntu 14.04 / mysql 5.5)aservice mysql start
是可能的。现在如果你尝试这个它会失败
docker run -it mysqlfail service mysql start
* Starting MySQL database server mysqld
No directory, logging in with …
Run Code Online (Sandbox Code Playgroud)