
使用开源的 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
查看docker.service的目录,例如:systemctl status docker,目录可能是:/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
1 个赞