当前位置:   article > 正文

docker启动mysql闪退问题_docker启动mysql自动退出

docker启动mysql自动退出

docker启动mysql闪退问题

一、常见原因:
1、启动时未使用 -d 参数
该参数表明以守护进程的方式启动mysql,否则由于没有前台应用,启动的mysql进程会立即自杀,导致闪退;
2、未开启虚拟内存;
2.1、free,查看swap是否为0; 如果为0,代表未开启虚拟内存;
2.2、开启方式:
dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
swapon /swapfile
2.3、开启后正常的显示为:

                   total        used        free      shared  buff/cache   available
Mem:         500152      309048       12788        1776      178316      147468
Swap:       1572860       53132     1519728
  • 1
  • 2
  • 3

二、如果上述方法都不管用,那可能和我的错误类似,我遇到的问题及解决方式如下:
1、操作:
docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

2、现象:
docker ps后,发现mysql没运行:
docker ps -a后,发现mysql秒退;
3、解决方法:
使用-it的方式启动,在界面看到报错信息:

2020-05-21T06:49:42.811172Z 0 [ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800!
2020-05-21 06:49:42 0x7f7b3cb0d740  InnoDB: Assertion failure in thread 140167275927360 in file ut0ut.cc line 918
  • 1
  • 2

出现该错误信息,表明数据目录不干净;
我挂载的数据目录为/mydata/mysql/data,只需进去将/data目录清空即可;
操作命令:在data目录下,执行 rm -rf /mydata/mysql/data/*
4、导致问题的操作:
4.1 第一次下载mysql镜像,中途失败;
4.2 第二次下载的为mysql:latest,启动时发现秒退,刚开始怀疑为版本原因,随即删除了mysql:latest,重新下载的mysql:5.7,仍旧秒退;
4.3 问题解决了,但是到底是哪一步造成的秒退还未确定,仅提供一个解决问题的思路;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/511604
推荐阅读
相关标签
  

闽ICP备14008679号