• 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=****  ,变成了默认密码,因为我创建完容器之后修改了一次密码,导致现在重启之后数据还原与环境变量不符,导致连接失败。虽然不能确定问题是否是这里的问题,但是要先解决这个环境变量的问题。

  • 相关阅读:
    hdu 3336 Count the string KMP+DP优化
    Codeforces Round #345 (Div. 1) A. Watchmen 模拟加点
    Codeforces Round #345 (Div. 1) B. Image Preview
    大数据时代下EDM邮件营销的变革
    如何选择EDM电子邮件服务提供商
    一般邮件营销平台可以获取的三个参数
    EDM邮件营销真的落伍了吗?
    EDM概念之A/B分类测试法
    EDM营销技巧之如何进行用户唤醒
    如何优化电子邮件营销的效果
  • 原文地址:https://www.cnblogs.com/mjiu/p/10040661.html
Copyright © 2020-2023  润新知