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

原文地址:https://www.cnblogs.com/mjiu/p/10040661.html

时间: 2024-10-09 20:30:09

Mysql容器启动失败-解决方案的相关文章

阿里云CentOS 7.2 MySQL服务启动失败的解决思路

阿里云 CentOS 7.2 MySQL服务启动失败的解决思路 前言 : 昨天刚刚搭建好的MySQL让老大看了一下,经过测试已经完成任务.但是今天早晨来的时候发现服务器被关了,此时我的心情崩溃的,但是我非常冷静的解决了MySQL问题.如下: 启动MySQL服务器失败,如下所示: [[email protected] ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl):  Job for mysqld.service faile

CentOS下,mysql服务启动失败

mysql服务启动失败,可以使用排除法查找原因: 如果修改了my.cnf后重启mysql服务失败,大多数情况下都是配置文件有错误, 可以通过备份原来的配置文件,然后将配置文件清空,只剩下[mysqld], 使用命令systemctl restart mysqld,如果能成功重启,说明配置文件出问题了, 修改配置文件即可. 如果以上做了之后还是不能重启,这是需要去查看mysql的log文件继续进行问题排查. 原文地址:https://www.cnblogs.com/ryanzheng/p/8496

mysql数据库启动失败

1.原因公司服务器故障,非正常停机导致数据库启动失败.报错信息[[email protected] dmp]# /etc/init.d/mysqld startStarting MySQL. ERROR! The server quit without updating PID file (/opt/mysql/data/15-144.pid). 2.查看mysql 日志180625 16:08:17 mysqld_safe Starting mysqld daemon with databas

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

今天,启动MySQL服务器失败,如下所示: [[email protected] ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -

mac 通过brew 安装的mysql启动失败解决方案

最近重装了mac系统,所有常用的软件都需要重新安装一遍,无疑安装一个brew是个很好的选择,关于brew是什么,怎么安装建议去brew官网查看,附上地址:brew官网 安装完成之后,安装其他的软件就特别方便了. 执行:  brew install mysql 等成功安装完成,结果想要登录的时候报了个错误: ERROR 2002 (HY000): Can not connect to local MySQL server through socket '/tmp/mysql.sock' (2) 网

mysql 服务启动失败

mysql 数据库连接失败 1.用naviCat Preiumn 连接本地的mysql 失败,查找原因,mysql 数据库服务没有启用,但是在服务列表里面没有找到对应的mysql 服务. 所以在cmd 界面,将当期路径指向mysql 安装目录底下:我本地的(C:\Program Files\MySQL\MySQL Server 5.7\bin) 用命令执行按照:mysqld -install 服务按照ok,就可以在windows 服务列表看到: 用net start mysql 命令还是启动不了

Docker windows 容器启动失败 network not found

前几天由于重启了服务器,docker配置的网络出了些问题导致在docker容器中安装的mysql识别用户权限时发生错误.(从宿主机A以user身份 登入到容器B中安装的Mysql时,用户竟然不是[email protected] 导致没有表的写权限.) 在网上查找解决方法的时候手贱运行了 1 docker network prune 结果把容器正在使用的网络给删除了...-_-|| 导致再运行 docker start 启动容器的时候报错:Error response from daemon:

用UltraISO制作的u盘ubuntu11.04,启动失败解决方案

错误提示:SYSLINUX 3.84 2009-12-18 EBIOS Copyright c 1994-2009 H.Peter Anvin et al 折腾的很久,尝试用Pauly的bootice,结果可以从u盘启动了. 先用UltraISO制作好u盘ubuntu11.04. 下载bootice,把u盘插上去,打开软件 选着u盘----->分区引导记录-------->选着syslinux 4.04.------->安装/配置------>确定

appium 启动失败解决方案

本机下载了:AppiumForWindows,启动Appium.exe 的时候,立即提示:应用程序已停止运行!! 本机环境: WIN 7 64 位,后来查了资料才知道Appium 要求安装.net framework 4.5,本机4.0,于是升级立马搞定!! .net framework 4.5 下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=30653 启动成功: