Mysql容器启动失败-解决方案
在看问题之前首先熟悉几个命令
相关命令
1.docker attach 连接到正在运行中的容器;
命令:docker attach --sig-proxy=false mynginx
2.docker exec 这个命令比较方便,可以在容器运行别的服务时连接上该容器;
命令:docker exec -it mysql_database1 /bin/bash
3.docker inspect mysql 查看容器的详细信息;
命令:docker inspect mysql
4.docker commit :从容器创建一个新的镜像;
命令:docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
错误描述
启动mysql容器命令
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=topsci123 -d centos/mysql-57-centos7
启动mysql后可以正常运行,期间修改了一次密码,这个启动其实是很不严谨的要加上MySQL的配置文件和数据的映射路径,
正确启动命令: docker run -p 3306:3306 --name mysql -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d imageID
后来主机重启之后,我重启了一下docker 服务,发现mysql 容器挂了,查看mysql容器日志
Version: '5.7.21' socket: '/tmp/mysql.sock' port: 0 MySQL Community Server (GPL)
2018-11-29T12:11:04.706404Z 2 [Note] Access denied for user 'root'@'localhost' (using password: NO)
---> 12:11:04 MySQL started successfully
2018-11-29T12:11:04.714244Z 3 [Note] Access denied for user 'root'@'localhost' (using password: NO)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
=> sourcing 40-datadir-action.sh ...
---> 12:11:04 Running datadir action: upgrade-warn
---> 12:11:04 MySQL server version check passed, both server and data directory are version 5.7.
=> sourcing 50-passwd-change.sh ...
---> 12:11:04 Setting passwords ...
mysql: [Warning] Using a password on the command line interface can be insecure.
2018-11-29T12:11:04.745280Z 4 [Note] Access denied for user 'root'@'localhost' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
这里可以看出是账号密码连接错误,虽然不知道为什么刚起来docker 容器他就直接要连接进入mysql,因为密码在安装完之后修改了一次密码,其实也不建议这么做的,因为每次docker 重启之后原容器都会初始化,除非按照上面说到的把相关重要的文件或者数据映射到本地,而且容器本身就不适合数据库,这里做一个小科普。
通过 docker inspect mysql 命令发现环境变量MYSQL_ROOT_PASSWORD=**** ,变成了默认密码,因为我创建完容器之后修改了一次密码,导致现在重启之后数据还原与环境变量不符,导致连接失败。虽然不能确定问题是否是这里的问题,但是要先解决这个环境变量的问题。
Mysql容器启动失败-解决方案的更多相关文章
- tomcat容器启动失败疑难问题解决方案
严重: 子容器启动失败java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 初始化组件[or ...
- CentOS下,mysql服务启动失败
mysql服务启动失败,可以使用排除法查找原因: 如果修改了my.cnf后重启mysql服务失败,大多数情况下都是配置文件有错误, 可以通过备份原来的配置文件,然后将配置文件清空,只剩下[mysqld ...
- mysql Slave 启动失败
报错日志 Slave failed to initialize relay log info structure java程序访问日志显示事物查询失败,排查mysql 发现其中一台slave 启动状态 ...
- Mysql启动失败解决方案 - 个人经验可能不适合所有场景
以前一直用的Mysql5.5,安装程序是一个exe程序,安装完了相应的服务也给我注册好了,然后直接启动连接即可. 最近升级到了8.0.15,发现和以前不一样了. 8.0.15下载地址 安装解压之后目录 ...
- CentOS 7下MySQL服务启动失败的解决思路
今天,启动MySQL服务器失败,如下所示: [root@spark01 ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Jo ...
- Xampp mysql无法启动的解决方案(转)
如果出现mysql 无法启动表明在安装xampp 前已经安装了mysql,造成mysql服务无法启动. [mysql] MySQL Service detected with wrong path23 ...
- Xampp mysql无法启动的解决方案
如果出现mysql 无法启动表明在安装xampp 前已经安装了mysql,造成mysql服务无法启动. 19:06:33 [mysql] MySQL Service detected with wr ...
- Docker容器启动失败 Failed to start Docker Application Container Engine的解决办法
当编辑完daemon.json时,准备systemctl start docker.service启动docker时报以下错误: 网上查找的诸多方法都不行,后面看到一篇类似的文章:http://www ...
- Docker删除某个容器时失败解决方案
删除某个容器时,报错 ocker rm 容器id image is being used by stopped container e11efb30362a 该报错的原因是要删除的该镜像,被某 ...
随机推荐
- 用Margin还是用Padding的区别
用margin还是用padding这个问题是每个学习CSS进阶时的必经之路. CSS边距属性定义元素周围的空间.通过使用单独的属性,可以对上.右.下.左的外边距进行设置.也可以使用简写的外边距属性同时 ...
- Redis底层数据结构实现
REDIS 较宽泛的支持5种数据结构 分别为 字符串 列表 集合 散列 有序集合 关于这几种数据结构的使用 相信网上有很多资料,查看官网API 也很详细了 读者可以自己随意翻阅 很方便 . 接下 ...
- C++ string的内部究竟是什么样的?
在C语言中,有两种方式表示字符串: 一种是用字符数组来容纳字符串,例如char str[10] = "abc",这样的字符串是可读写的: 一种是使用字符串常量,例如char *st ...
- ASP.NET Core Controller与IOC的羁绊
前言 看到标题可能大家会有所疑问Controller和IOC能有啥羁绊,但是我还是拒绝当一个标题党的.相信有很大一部分人已经知道了这么一个结论,默认情况下ASP.NET Core的Controller ...
- 5.汇编实现裸机LED
首先:操作LED就要操作GPIO alpha的芯片是NXP的IMX6ULL 其GPIO和STM32的命名有所区别 可以看到IMX6ULL的GPIO以其功能进行命名,对应上图中PAD之后的部分 即G ...
- 项目实战--Stream流实现字符串拼接
需求说明 概述:前端页面查询列表中有个"二级类目"的多选下拉框,用户选择二级类目后,需要从后台数据库查询条件内的数据. 目标:将前端页面传入后端的字符串例如"女性护理, ...
- hadoop完全分布式
虚拟机克隆 a. vim /etc/udev/rules.d/70-persistent-net.rules 更改网卡名 b. vim /etc/sysconfig/network-scrip ...
- Termux键盘配置
通过编辑~/.termux/termux.properties配置 extra-keys = [\ ['ESC', 'CTRL', '&', '$', '!', '%', '<', '& ...
- 【函数分享】每日PHP函数分享(2021-1-12)
str_pad() 使用另一个字符串填充字符串为指定长度 . string str_pad ( string $input, int $pad_length[, string $pad_string= ...
- Serverless 如何应对 K8s 在离线场景下的资源供给诉求
本文整理自腾讯云云原生产品团队的专家产品经理韩沛在 Techo 开发者大会云原生专题的分享内容--Kubernetes 混部与弹性容器.本次分享主要分为三部分:基于 K8s 的应用混部.提升应用混部效 ...