在学习环境中 如何优雅地启动 mysql8 的 docker 镜像
前言
直接在 win10 上安装 mysql 其实不怎么优雅,毕竟要携带许多依赖环境。既然学了 docker,不用怎么行呢,接下来探讨如何用 docker 启动一个学习用的 mysql
环境准备
操作系统:win10
Docker版本:基于 wsl2 的 docker-desktop v19.03.13
docker-compose版本:1.27.4
目录结构
.
├── config
│ ├── master.cnf
│
├── mysql-volumes
│ ├── data
│ ├── logs
│ ├── conf
├── .env
└── docker-compose.yml
配置
- 修改
.env
文件
该文件为 docker-compose.yml 提供变量
1 | # default environment arguments for docker-compose.yml |
- MASTER_DATA 是挂载到宿主机上的数据目录
- MASTER_LOGS 是挂载到宿主机上的日志目录
- MASTER_CONF 是挂载到宿主机上的配置目录
- 修改 mysql 配置文件 master.cnf
1 | [mysqld] |
修改完后,放在容器挂载的配置目录中,并设置成只读: ./mysql-volumes/conf/master/master.cnf
- 配置 docker-compose.yml
1 | version: '3' |
启动
在 docker-compose.yml 文件夹下进入 powershell
然后使用命令 docker-compose up
启动 mysql
通过界面应用或者 docker 命令行可以进入容器内部调试 mysql
以下是一些方便调试的 sql 语句:
- 查看 mysql 编码设置
1 | show variables like 'char%' |
- 获取 mysql 数据存储目录
1 | show variables like '%data%'; |
- 查看数据库表名大小写敏感状态
1 | show global variables like '%lower_case%'; |