在看问题之前首先熟悉几个命令

相关命令

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容器启动失败-解决方案的更多相关文章

  1. tomcat容器启动失败疑难问题解决方案

    严重: 子容器启动失败java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 初始化组件[or ...

  2. CentOS下,mysql服务启动失败

    mysql服务启动失败,可以使用排除法查找原因: 如果修改了my.cnf后重启mysql服务失败,大多数情况下都是配置文件有错误, 可以通过备份原来的配置文件,然后将配置文件清空,只剩下[mysqld ...

  3. mysql Slave 启动失败

    报错日志 Slave failed to initialize relay log info structure java程序访问日志显示事物查询失败,排查mysql 发现其中一台slave 启动状态 ...

  4. Mysql启动失败解决方案 - 个人经验可能不适合所有场景

    以前一直用的Mysql5.5,安装程序是一个exe程序,安装完了相应的服务也给我注册好了,然后直接启动连接即可. 最近升级到了8.0.15,发现和以前不一样了. 8.0.15下载地址 安装解压之后目录 ...

  5. CentOS 7下MySQL服务启动失败的解决思路

    今天,启动MySQL服务器失败,如下所示: [root@spark01 ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Jo ...

  6. Xampp mysql无法启动的解决方案(转)

    如果出现mysql 无法启动表明在安装xampp 前已经安装了mysql,造成mysql服务无法启动. [mysql] MySQL Service detected with wrong path23 ...

  7. Xampp mysql无法启动的解决方案

    如果出现mysql 无法启动表明在安装xampp 前已经安装了mysql,造成mysql服务无法启动. 19:06:33  [mysql] MySQL Service detected with wr ...

  8. Docker容器启动失败 Failed to start Docker Application Container Engine的解决办法

    当编辑完daemon.json时,准备systemctl start docker.service启动docker时报以下错误: 网上查找的诸多方法都不行,后面看到一篇类似的文章:http://www ...

  9. Docker删除某个容器时失败解决方案

    删除某个容器时,报错 ocker rm 容器id   image is being used by stopped container e11efb30362a   该报错的原因是要删除的该镜像,被某 ...

随机推荐

  1. Service Mesh——微服务中的流量管理中间件

    Service Mesh--微服务中的流量管理中间件 摘自-https://zhuanlan.zhihu.com/p/28794062 Service mesh 与 Cloud Native Kube ...

  2. CentOS8_在线安装_网络源_网络镜像源填写格式_以及其他笔记

    CentOS8_在线安装_网络源_网络镜像源填写格式_以及其他笔记 转载注明来源: 本文链接 来自osnosn的博客,写于 2020-10-1. 参考: Centos8.0.1905 在线安装源选择 ...

  3. idea启动build过慢

    原文链接http://zhhll.icu/2020/04/17/idea/idea%E4%B9%8B%E7%BC%96%E8%AF%91%E9%97%AE%E9%A2%98/ 之前使用idea的时候每 ...

  4. 【Azure Developer】Python代码通过AAD认证访问微软Azure密钥保管库(Azure Key Vault)中机密信息(Secret)

    关键字说明 什么是 Azure Active Directory?Azure Active Directory(Azure AD, AAD) 是 Microsoft 的基于云的标识和访问管理服务,可帮 ...

  5. Docker haproxy应用构建 (五)

    编写dockerfile from centos-base:v1 MAINTAINER 57674891@qq.com RUN mkdir -p /data/{soft,src,logs,script ...

  6. selenium自动化 | 通过获取cookies登录

    >>>登录百度<<<#获取登录成功后的cookies def get_cookies(): driver.get(bd_url) driver.implicitly ...

  7. 原生javascript制作省市区三级联动详细教程

    多级联动下拉菜单是前端常见的效果,省市区三级联动又属于其中最典型的案例.多级联动一般都是与数据相关联的,根据数据来生成和修改联动的下拉菜单.完成一个多级联动效果,有助于增强对数据处理的能力. 本实例以 ...

  8. 【Oracle】静默安装oracle 11.2.0.4 超详细

    安装oracle 1.执行脚本完成初始化oracle环境 2.解压缩oracle的压缩包,单实例1个,rac是2两个压缩包 3.修改response下的db_install.rsp 修改内容如下: - ...

  9. LeetCode501.二叉搜索树中的众数

    题目,本题未做出,还有很多要学习 class Solution { public: vector<int>ans; int base,count,maxCount; void update ...

  10. CTFHub - Web(二)

    目录遍历: 法一: 依次查看目录即可: 法二: 利用脚本:  #!/usr/bin/python3  # -*- coding: utf-8 -*-  # --author:valecalida-- ...