由Docker的MySQL官方镜像配置的容器无法启动问题的解决办法
2016-10-06 16:47
836 查看
这篇文章记录了我在使用 Docker 的 MySQL 官方镜像的时候碰到的一个问题。MySQL 的版本是 5.7。
正常启动,没有问题。通常我们使用MySQL的时候,需要设置参数。要设置参数,我们先得进入容器的bash,进行操作:
MySQL的默认配置文件是 /etc/mysql/my.cnf 文件。如果想要自定义配置,建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件。新建的文件可以任意起名,只要保证后缀名是 cnf 即可。新建的文件中的配置项可以覆盖 /etc/mysql/my.cnf 中的配置项。因为 MySQL 的 Docker 官方镜像没有提供 vim 编辑器,所以我用cat命令生成文件并添加内容:
退出后,停止容器,再重新启动容器,发现容器无法启动。
把这一行删除。添加配置文件的时候保证没有这一行就可以了。
如果你要查看所有的配置项,可以使用如下命令,利用管道将输出的帮助都放到 help.txt 文件里面:
其中 tag 表示镜像的表情,比如 latest 和 5.6。
问题描述
我使用的是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
正常启动,没有问题。通常我们使用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
退出后,停止容器,再重新启动容器,发现容器无法启动。
解决方法
删除原来那个不能启动的容器。重新创建一个新的容器。问题的关键在于原来的 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。
相关文章推荐
- 【081】使用Nginx的官方Docker镜像,启动容器后无法显示自己网站页面,总显示Nginx官方默认页面的问题的解决方法
- mysql-5.7.10-winx64免安装配置方法以及mysql服务无法启动 服务没有报告任何错误解决办法
- MySQL5.7.11免安装版的安装和配置以及解决MYSQL服务无法启动问题
- MySQL下载安装、配置、使用及无法启动MySQL服务问题解决
- 菜鸟学堂之不传秘术:应用程序无法启动,因为应用程序的并行配置不正确]这个问题的实际解决办法
- Linux下修改配置文件导致系统无法启动问题解决办法
- Docker容器启动lnmp环境下的mysql服务时报"MySQL server PID file could not be found"错误解决办法
- MySQL5.7.11免安装版的安装和配置:解决MYSQL 服务无法启动问题
- MySql5.7.12免安装版配置以及服务无法启动问题解决方法
- MySQL5.7.11免安装版的安装和配置:解决MYSQL 服务无法启动问题
- Docker 1.7 在 centos6.5 内核2.6.32 系统 镜像无法启动问题解决
- hive2.3.0配置mysql作为元数据库出现无法实例化问题及解决办法
- MySQL5.7.11免安装版的安装和配置以及解决MYSQL服务无法启动问题
- MySql5.7.12免安装版配置以及服务无法启动问题解决方法
- mysql问题解决(MySQL服务无法启动,服务没有报告任何错误的解决办法)
- Docker中mysql修改配置导致无法启动的docker容器
- win7平台docker简单配置,解决VirtualBox无法启动及打包失败问题
- docker run java官方镜像默认自动退出的问题解决办法
- mysql-5.7.12-winx64.zip Windows (x86, 64-bit), ZIP Archive版免安装配置,无法启动服务解决办法
- MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法