博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql容器启动失败-解决方案
阅读量:6425 次
发布时间:2019-06-23

本文共 1972 字,大约阅读时间需要 6 分钟。

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

相关命令

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

 

转载于:https://www.cnblogs.com/mjiu/p/10040661.html

你可能感兴趣的文章
Android 用于校验集合参数的小封装
查看>>
iOS混合开发库(GICXMLLayout)七、JavaScript篇
查看>>
instrument 调试 无法指出问题代码 解决
查看>>
理解缓存
查看>>
BAT 经典算法笔试题 —— 磁盘多路归并排序
查看>>
Nginx限制带宽
查看>>
All Web Application Attack Techniques
查看>>
归档日志ORA-19809: 超出了恢复文件数的限制
查看>>
精品德国软件 UltraShredder 文件粉碎机
查看>>
PANDAS 数据合并与重塑(join/merge篇)
查看>>
文件时间信息在测试中的应用
查看>>
直播疑难杂症排查(8)— 播放杂音、噪音、回声问题
查看>>
如何写gdb命令脚本
查看>>
Android ListView展示不同的布局
查看>>
iOS宏(自己使用,持续更新)
查看>>
手把手玩转win8开发系列课程(3)
查看>>
NGINX引入线程池 性能提升9倍
查看>>
《淘宝技术这十年》读书笔记 (四). 分布式时代和中间件
查看>>
linux下mongodb定时备份指定的集合
查看>>
oVirt JBAS server start failed, ajp proxy cann't server correct. ovirt-engine URL cann't open
查看>>