文章目录
- 前言
- 1. 测试/开发使用
- 1.1 环境准备
- 1.2 docker-compose文件
- 1.3 启动mysql
- 1.4 其他操作
- 2 生产级使用
- 2.1 docker-compose 文件
- 2.2 my.cnf
- 2.3 data目录
- 2.4 init目录和初始化脚本
- 2.5 容器启动和操作
- 3 自动创建脚本
1)本文分三个部分:
- 启动一个测试/开发级别的数据库。
- 启动一个生产级别的数据库
- 开发环境的一个自动化方案。让开发人员在宿主机上随时快速启动一个mysql数据库。
2)其他相关文档
- 生产高可用集群: 《helm启动mysql-ha》
- 其他部署方式:《docker-compose启动mysql》、《helm启动单节点mysql》
- web管理工具推荐 :《k8s启动phpmyadmin》
优点:
- 简单
你不需要关于mysql的知识即可在一个服务器上启动很多mysql数据库。
简单使用中你也不需要更多关于容器的知识。 - 高效
即刻让一个数据库拔地而起。 - 干净
当你不用了,停止容器后不会有任何系统垃圾。
已安装docker和docker-compose
创建mysql目录,目录下新建 docker-compose.yml 文件,内容如下:
在刚才创建的mysql 目录下执行命令
启动之后,数据库就可以正常使用了。
- 查看服务状态
- 停止服务
- 重启容器
- 关闭容器容器
说明:可以看到,stop的时候,容器是Exit状态。而down之后容器被彻底删除了,但是不用担心,我们已经对数据做了持久话存储,up之后数据还在。
- docker-compose.yml
生命周期和编排文件 - my.cnf
mysql配置文件,挂载出来便于修改,同时也是对配置的持久化存储。 - data目录
将msyql的数据持久化存储以避免执行 down 后数据丢失。 - init目录
用来放 mysql的初始化脚本,如果data目录中有文件,则再会执行初始化。
说明:msyql的配置文件,下边只是一个示例,你可以根据需要更改
可以不提前创建,容器启动的时候会自动创建并挂载。
将启动脚本写放到init目录,给执行权限即可,可以是shell,可以是sql。如果你不需要就不放任何文件。数据库没有初始化时候会执行该脚本。
同上文 1.3 和 1.4,不赘述。
- 说明:
1)在宿主机中执行如下脚本,自动启动一个容器供开发测试使用。
2)执行过程中需要一些交互式输入:安装位置、root密码、使用端口、库名。 - 实际应用
我将这个脚本放在ftp服务器上,开发人员需要启动mysql的时候执行
即可直接启动一个开发/测试级的 msyql数据库


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/167405.html