openEuler-24.03-LTS 使用docker 安装mysql 5.6 5.7版报错


使用开源的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_PASSWORDMYSQL_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

  1. 修改 /usr/lib/systemd/system/docker.service 文件,将
    LimitCORE=infinity
    LimitNOFILE=infinity
    LimitNPROC=infinity
    改成
    LimitCORE=65535
    LimitNOFILE=65535
    LimitNPROC=65535

  2. 重启 docker
    systemctl daemon-reload
    systemctl restart docker