由Docker的MySQL官方镜像配置的容器无法启动问题解决办法(修改配置后无法启动)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
为了方便阅读,我在原文基础上加了一些批注,说明我自己的情况,用红色标示。
这篇文章记录了我在使用 Docker 的 MySQL 官方镜像的时候碰到的一个问题。MySQL 的版本是 5.7。
(我的是5.7.21 版本。)
问题描述
我使用的是MySQL的Docker镜像。先创建并启动镜像:
# docker run --name mysql-b \
> -p 33002:3306 -v /zc/mysql/datadir-b:/var/lib/mysql \
> -e MYSQL_ROOT_PASSWORD='123456' -d mysql:latest
参数说明:--name 取名;
-p : 设置端口号; -v : 设置挂载路径;
-e : 设置环境变量; -d: 后台运行容器,并返回容器ID ;
正常启动,没有问题。通常我们使用MySQL的时候,需要设置参数。要设置参数,我们先得进入容器的bash,进行操作:
docker exec -it mysql-b bash
MySQL的默认配置文件是 /etc/mysql/my.cnf 文件。如果想要自定义配置,建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件。新建的文件可以任意起名,只要保证后缀名是 cnf 即可。新建的文件中的配置项可以覆盖 /etc/mysql/my.cnf 中的配置项。因为 MySQL 的 Docker 官方镜像没有提供 vim 编辑器,所以我用cat命令生成文件并添加内容:
# cat >test.cnf <<EOF
[mysqldump]
user=root
password='123456'
[mysqld]
max_allowed_packet=8M
lower_case_table_names=1
character_set_server=utf8
max_connections=900
max_connect_errors=600
default-character-set=utf8
EOF
cat > test.cnf : 把输入内容写入到文件 test.cnf 中。
<<EOF :遇到 EOF 结束输入并退出。
退出后,停止容器,再重新启动容器,发现容器无法启动。
解决方法
删除原来那个不能启动的容器。重新创建一个新的容器。问题的关键在于原来的 test.cnf 文件有错误。找到原来配置文件的最后一行:
default-character-set=utf8
把这一行删除。添加配置文件的时候保证没有这一行就可以了。
问题原因
MySQL 的官方 Docker 镜像里面,在标签 latest 下,[mysqld] 这一配置段上并没有 default-character-set 这一配置项。
如果你要查看所有的配置项,可以使用如下命令,利用管道将输出的帮助都放到 help.txt 文件里面:
docker run -it --rm mysql:tag --verbose --help > help.txt
其中 tag 表示镜像的标签,比如 latest 和 5.6。
转自:https://blog.csdn.net/zhangchao19890805/article/details/52744054
由Docker的MySQL官方镜像配置的容器无法启动问题解决办法(修改配置后无法启动)相关推荐
- kitematic利用docker下载mysql的镜像
-> 点击mysql的 "Create" 按钮. kitematic利用docker下载mysql的镜像 点击右侧"Setting" 按钮, 在" ...
- Docker定制mysql+Tomcat镜像
场景:云服务器上已经搭建了一个Apache服务器,但是我想在不干扰的情况下再搭建一个Tomcat服务器.想到Docker技术能够实现,就想着在docker上搭建一个Tomcat服务器对外提供8080的 ...
- docker:用官方镜像在本地搭建PHP开发环境
远离搭建环境的烦恼,使用docker官方镜像也能简单搭建本地开发环境(可配置多站点,可灵活切换多个php版本).本文全是干货,无脑按步骤操作即可. 第一步:在本地创建一个工作目录,目录结构如下: ln ...
- mysql 官方镜像_运行官方mysql 镜像
//目前最新的为mysql 8 sudo docker run -itd --restart unless-stopped --net=host --name mysql -p3306:3306 -e ...
- Linux下使用Docker做mysql的镜像部署
接着上一篇文档,上一篇文档讲述了如何使用Docker在Linux环境中部署一个javaWeb项目,这篇文档来讲一下如何做mysql镜像部署. 一.拉取mysql镜像 Docker中执行命令: # do ...
- docker命令介绍,镜像制作,容器启动,进入容器操作等
1:在linux安装docker环境一键安装命令: curl -sSL https://get.daocloud.io/docker | sh 2:查看 Docker 是否安装成功: docker v ...
- mysql修改密码后无法启动_mysql服务无法启动与强制修改密码指南-Go语言中文社区...
mysql 5.7 长期不用,突然间要用到就遇到一些无法启动的问题了 无法启动解决办法: (1)以管理员身份运行cmd(win10右键左下角开始按钮选择以管理员身份运行cmd即可) 以管理员身份运行c ...
- jboss配置ejb容器_JBoss AS 7 EJB3池配置
jboss配置ejb容器 现在已经发布了AS 7.0.1,下面让我们看看有哪些新的EJB3功能可用. 就像我在上一篇文章中提到的那样 ,AS 7.0.1现在允许您为无状态会话bean和MDB配置池. ...
- 为什么mysql打开闪屏_mysql登录闪屏问题解决办法
Mysql安装后打开MySQL Command Line Client闪退解决方法 //MySQL的启动方法,先在DOS下切换到mysql的安装目录BIN下然后输入启动mysql服务的命令, 再然后在 ...
最新文章
- B-Tree与B+Tree的区别
- 互联网+连接教育 全息时代即将来临
- 顺序表中有效元素的长度_408数据结构之顺序表进阶(1)
- 拷贝构造函数 c语言中文网,C++对象的复制
- 【Javascript】复选框的全选与全不选
- 线程锁定CPU linux,linux 线程与CPU绑定
- 2D动作游戏开发与实现(翻译) .
- caffe---测试模型分类结果并输出(python )
- Extjs视频教程_Extjs5.0从入门到实战开发信息管理系统
- 从根儿上解决Word中标题多级标题编号不联动问题
- Selenium之浏览器驱动下载和配置使用
- 淘宝用户行为分析(python+mysql+tableau)
- Delta对冲:模拟实验
- 使用Senparc.Weixin SDK搭建微信公众号服务程序
- 视频怎么压缩变小?视频压缩变小的具体操作步骤
- 二进制在计算机内是如何运作的
- 蔚来汽车3年亏超百亿,只能靠上市来融钱交车?
- PhotoShop安装问题160
- AcWing:Dijkstra
- XMLHttpRequest cannot load http://xxxxxx. No 'Access-Control-Allow-Origin' header i
热门文章
- js有没有类似php的sleep函数,JavaScript-jQuery有没有类似sleep方法?
- 408最后计算机网络题库,2021考研计算机统考408专业基础综合题库
- 【开源项目】EasyCmd命令图形化软件
- QML程序发布时无法正常运行的解决办法
- kafka mysql事务_【干货】Kafka 事务特性分析
- 【2019牛客暑期多校训练营(第二场)- F】Partition problem(dfs,均摊时间优化)
- 【HDU - 6203】ping ping ping(lca+贪心思想,对lca排序,树状数组差分)
- *【洛谷 - P1025】数的划分(dfs 或 dp 或 母函数,第二类斯特林数Stirling)
- 【CodeForces - 298C】Parity Game (思维,有坑)
- 【POJ - 3321】 Apple Tree(dfs序 + 线段树维护 或 dfs序 + 树状数组维护)