使用开源的mysql 5.6 5.7镜像,docker run 启动mysql,均无法启动,报错一致:mysqld failed while attempting to check config 同样的docker run 命令启动mysql 8.0就没有问题
mysql 5 已经 EOL,无论是学习研究环境,还是生产环境,都不要用了。
需要指定 MYSQL_ROOT_PASSWORD
和 MYSQL_USER
环境变量
例如:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_USER=root -d mysql:tag
同样的问题,需要限制下docker进程的LimitNOFILE
systemctl status docker 看下 docker.service 的目录,比如是:/usr/lib/systemd/system/docker.service
-
修改 /usr/lib/systemd/system/docker.service 文件,将
LimitCORE=infinity
LimitNOFILE=infinity
LimitNPROC=infinity
改成
LimitCORE=65535
LimitNOFILE=65535
LimitNPROC=65535 -
重启 docker
systemctl daemon-reload
systemctl restart docker