前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

为了方便阅读,我在原文基础上加了一些批注,说明我自己的情况,用红色标示。

这篇文章记录了我在使用 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官方镜像配置的容器无法启动问题解决办法(修改配置后无法启动)相关推荐

  1. kitematic利用docker下载mysql的镜像

    -> 点击mysql的 "Create" 按钮. kitematic利用docker下载mysql的镜像 点击右侧"Setting" 按钮, 在" ...

  2. Docker定制mysql+Tomcat镜像

    场景:云服务器上已经搭建了一个Apache服务器,但是我想在不干扰的情况下再搭建一个Tomcat服务器.想到Docker技术能够实现,就想着在docker上搭建一个Tomcat服务器对外提供8080的 ...

  3. docker:用官方镜像在本地搭建PHP开发环境

    远离搭建环境的烦恼,使用docker官方镜像也能简单搭建本地开发环境(可配置多站点,可灵活切换多个php版本).本文全是干货,无脑按步骤操作即可. 第一步:在本地创建一个工作目录,目录结构如下: ln ...

  4. mysql 官方镜像_运行官方mysql 镜像

    //目前最新的为mysql 8 sudo docker run -itd --restart unless-stopped --net=host --name mysql -p3306:3306 -e ...

  5. Linux下使用Docker做mysql的镜像部署

    接着上一篇文档,上一篇文档讲述了如何使用Docker在Linux环境中部署一个javaWeb项目,这篇文档来讲一下如何做mysql镜像部署. 一.拉取mysql镜像 Docker中执行命令: # do ...

  6. docker命令介绍,镜像制作,容器启动,进入容器操作等

    1:在linux安装docker环境一键安装命令: curl -sSL https://get.daocloud.io/docker | sh 2:查看 Docker 是否安装成功: docker v ...

  7. mysql修改密码后无法启动_mysql服务无法启动与强制修改密码指南-Go语言中文社区...

    mysql 5.7 长期不用,突然间要用到就遇到一些无法启动的问题了 无法启动解决办法: (1)以管理员身份运行cmd(win10右键左下角开始按钮选择以管理员身份运行cmd即可) 以管理员身份运行c ...

  8. jboss配置ejb容器_JBoss AS 7 EJB3池配置

    jboss配置ejb容器 现在已经发布了AS 7.0.1,下面让我们看看有哪些新的EJB3功能可用. 就像我在上一篇文章中提到的那样 ,AS 7.0.1现在允许您为无状态会话bean和MDB配置池. ...

  9. 为什么mysql打开闪屏_mysql登录闪屏问题解决办法

    Mysql安装后打开MySQL Command Line Client闪退解决方法 //MySQL的启动方法,先在DOS下切换到mysql的安装目录BIN下然后输入启动mysql服务的命令, 再然后在 ...

最新文章

  1. B-Tree与B+Tree的区别
  2. 互联网+连接教育 全息时代即将来临
  3. 顺序表中有效元素的长度_408数据结构之顺序表进阶(1)
  4. 拷贝构造函数 c语言中文网,C++对象的复制
  5. 【Javascript】复选框的全选与全不选
  6. 线程锁定CPU linux,linux 线程与CPU绑定
  7. 2D动作游戏开发与实现(翻译) .
  8. caffe---测试模型分类结果并输出(python )
  9. Extjs视频教程_Extjs5.0从入门到实战开发信息管理系统
  10. 从根儿上解决Word中标题多级标题编号不联动问题
  11. Selenium之浏览器驱动下载和配置使用
  12. 淘宝用户行为分析(python+mysql+tableau)
  13. Delta对冲:模拟实验
  14. 使用Senparc.Weixin SDK搭建微信公众号服务程序
  15. 视频怎么压缩变小?视频压缩变小的具体操作步骤
  16. 二进制在计算机内是如何运作的
  17. 蔚来汽车3年亏超百亿,只能靠上市来融钱交车?
  18. PhotoShop安装问题160
  19. AcWing:Dijkstra
  20. XMLHttpRequest cannot load http://xxxxxx. No 'Access-Control-Allow-Origin' header i

热门文章

  1. js有没有类似php的sleep函数,JavaScript-jQuery有没有类似sleep方法?
  2. 408最后计算机网络题库,2021考研计算机统考408专业基础综合题库
  3. 【开源项目】EasyCmd命令图形化软件
  4. QML程序发布时无法正常运行的解决办法
  5. kafka mysql事务_【干货】Kafka 事务特性分析
  6. 【2019牛客暑期多校训练营(第二场)- F】Partition problem(dfs,均摊时间优化)
  7. 【HDU - 6203】ping ping ping(lca+贪心思想,对lca排序,树状数组差分)
  8. *【洛谷 - P1025】数的划分(dfs 或 dp 或 母函数,第二类斯特林数Stirling)
  9. 【CodeForces - 298C】Parity Game (思维,有坑)
  10. 【POJ - 3321】 Apple Tree(dfs序 + 线段树维护 或 dfs序 + 树状数组维护)