代码改变世界

docker安装mysql时f5665aa206a6 mysql:5.7.39 "docker-entrypoint.s…" 2 hours ago Exited (1) 5 minutes ago

  ly772186472  阅读(299)  评论(0编辑  收藏  举报

f5665aa206a6   mysql:5.7.39   "docker-entrypoint.s…"   2 hours ago   Exited (1) 5 minutes ago   

实际上这是运行之后的结果,但是正常情况来说,使用 docker ps 就可查看运行中的容器,但这个运行后需要通过 docker ps -a 才可以看见,-a 是代表查看所有包括没运行的,由此可见容器启动没有成功

方案: 查看出错日志-- docker logs 容器的id

 

 因为Centos7安全Selinux禁止了部分安全权限,导致mysql和mariadb在进行挂载/var/lib/mysql的时候会提示上面的信息

 

我的问题解决方案是:少了、conf.d  ; 有的服务器没有是可以的,不出错

 

 

解决方案一:--privileged=true

1. 在docker run中加入 --privileged=true 给容器加上特定权限

2. 关闭selinux 3. 在selinux添加规则,修改挂载目录

setenforce 0 systemct

 restart docker

docker restart mysql

解决二: 网上搜 的是 --适合mysql8

1、之后发现是在 docker run 后面的运行挂载备份的参数缺失导致的,少提供了一项挂载备份目录 /devtools/mysqldata/mysql-files:/var/lib/mysql-files 

1
docker run -d -p 3306:3306 --name mysql -v /home/mysqldata/mysql/log:/var/log/mysql -v /home/mysqldata/mysql/data:/var/lib/mysql -v /home/mysqldata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

 改为:

docker run -d -p 3306:3306 --name mysql -v /home/mysqldata/mysql/log:/var/log/mysql -v /home/mysqldata/mysql/data:/var/lib/mysql -v 
/home/mysqldata/mysql-files:/var/lib/mysql-files -v
/home/mysqldata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.39

--- 备注:此项挂载备份目录 -v /devtools/mysqldata/mysql-files:/var/lib/mysql-files 在mysql 8.x版本之后必须提供,如果是mysql 5.x版本则不需要挂载此目录

=======================问题二=======================================================================================

安装容器命令: 

docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

 

复制代码
2023-05-17 09:00:51+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.36-1debian10 started.
2023-05-17 09:00:51+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to check config
        command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.foIOh3Av0G
        mysqld: [ERROR] Found option without preceding group in config file /etc/mysql/my.cnf at line 1!
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
2023-05-17 09:01:09+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.36-1debian10 started.
2023-05-17 09:01:09+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to check config
        command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.QztGqpNcwj
        mysqld: [ERROR] Found option without preceding group in config file /etc/mysql/my.cnf at line 1!
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
复制代码

 

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示