资讯专栏INFORMATION COLUMN

docker官方mysql镜像自定义配置

ARGUS / 2759人阅读

摘要:之前为了节省安装时间,所以用官方镜像启动。所以最简单改变数据库配置的方式就是在宿主机上新建配置文件,改成随后将文件复制到相应容器文件夹下宿主机文件路径容器最后使用和命令重启容器就实现了加载自定义配置。

之前为了节省安装时间,所以用官方mysql docker镜像启动mysql。
通过

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d daocloud.io/mysql:tag

some-mysql 指定了该容器的名字,my-secret-pw 指定了 root 用户的密码,tag 参数指定了你想要的 MySQL 版本

这样数据是没有持久化的 所以在启动参数中需要挂载本地目录

$ docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d daocloud.io/mysql:tag

于是这样数据库一直跑着,但是由于最近程序需要支持emoji表情,不得不将mysql的字符集更改。

这时候就可以挂载自定义配置文件,官方文档说明

当 MySQL 服务启动时会以 /etc/mysql/my.cnf 为配置文件,本文件会导入 /etc/mysql/conf.d 目录中所有以 .cnf 为后缀的文件。这些文件会拓展或覆盖 /etc/mysql/my.cnf 文件中的配置。因此你可以创建你自己需要的配置文件并挂载至 MySQL 容器中的 /etc/mysql/conf.d 目录。

所以最简单改变数据库配置的方式就是在宿主机上新建配置文件,改成utf8mb4

[client]

default-character-set=utf8mb4


[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci



[mysql]

default-character-set=utf8mb4

随后将文件复制到相应docker容器文件夹下

docker cp /home/my.cnf(宿主机文件路径)  [容器id]:/etc/mysql/mysql.conf.d

最后使用docker stop和start命令重启容器就实现了加载自定义配置。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71954.html

相关文章

  • 到底什么是TAE

    摘要:回滚部署开发者每次部署的程序包会自动备份到历史版本,发布异常时,可以指定回滚部署到某一历史版本。网络方面采用了硬件防火墙设施,提供四层到七层的全面防护,防护类型包括等所有攻击方式,支持清洗和黑洞机制,还接入了防护等功能。 TAE2.0(Taobao App Engine)是针对移动互联网场景的定制化PaaS云服务,基于阿里云基础设施,采用Docker容器技术封装应用运行环境,并且针对互...

    novo 评论0 收藏0
  • 到底什么是TAE

    摘要:回滚部署开发者每次部署的程序包会自动备份到历史版本,发布异常时,可以指定回滚部署到某一历史版本。网络方面采用了硬件防火墙设施,提供四层到七层的全面防护,防护类型包括等所有攻击方式,支持清洗和黑洞机制,还接入了防护等功能。 TAE2.0(Taobao App Engine)是针对移动互联网场景的定制化PaaS云服务,基于阿里云基础设施,采用Docker容器技术封装应用运行环境,并且针对互...

    yankeys 评论0 收藏0
  • Mac上通过docker配置PHP开发环境

    摘要:安装关于上安装网上有很多文章介绍,这里我就不在做描述了,顺便提一句,建议使用阿里云或提供的加速器。我主要是通过来配置服务。一般配置文件名为。 安装docker 关于MAC上安装docker网上有很多文章介绍,这里我就不在做描述了,顺便提一句,建议使用阿里云或Daocloud提供的加速器。本文推荐参看这篇文章:https://blog.csdn.net/jiang_x...这篇文章相当于...

    Rocture 评论0 收藏0

发表评论

0条评论

ARGUS

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<