MySQL + Docker:初始设置
准备
环境:
苹果:
CPU:苹果M1
操作作系统: Sonoma 14.6.1
Docker 桌面:
版本: 4.34.2
方向结构

graph TB;
subgraph "top"
A["docker-compose.yml"]
B[".env"]
end
docker-compose.yml
services:
mysql:
image: mysql:8.0.39
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
ports:
- "${MYSQL_HOST_PORT}:3306"
volumes:
- db-data:/var/lib/mysql
volumes:
db-data:
结构
首先,定义所需的属性。
services:
mysql:
image: mysql:8.0.39
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
作为镜像,我们指定了 MySQL Docker 官方镜像。
如果将 MySQL 的版本指定为最新版本,则将基于最新版本创建镜像。截至撰写本文时
,最新版本是 9.0.1。
指定版本 8.0.39 的原因是它是与 MySQL Workbench 兼容的最新版本。
作为环境,我们设置了 root 用户密码。
安装 MySQL 时会自动创建 root 用户。
可以指定的环境变量列表写在 docker hub 中。
接下来,映射端口。
services:
mysql:
image: mysql:8.0.39
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
# new attribute.
ports:
- "${MYSQL_HOST_PORT}:3306"
3306 是 MySQL 侦听 TCP/IP 的默认端口号。
MySQL Workbench 使用此端口连接到容器。
最后,使数据库数据持久化。
services:
mysql:
image: mysql:8.0.39
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
ports:
- "${MYSQL_HOST_PORT}:3306"
# new attribute.
volumes:
- db-data:/var/lib/mysql
new element.
volumes:
db-data:
通过定义 volumes 元素创建持久数据存储。
在本例中,我们创建名为 的卷。db-data
MySQL 的默认数据目录是 /var/lib/mysql,我们将其挂载到卷中。
.env 域名
MYSQL_HOST_PORT={host-port}
MYSQL_ROOT_PASSWORD={root-user-password}
Docker
创建容器、映像和卷
1、打开终端。
2、将当前目录移动到所在位置。docker-compose.yml
3、执行
docker compose create。
docker compose create
检查 MySQL 的版本
1、启动容器。
docker compose start
2、检查容器的名称。
docker ps
该列与它相对应。Names
3、检查容器中的版本。
docker exec <container-name> mysql -V
例如,返回以下响应。
mysql Ver 8.0.39 for Linux on aarch64 (MySQL Community Server - GPL)
4、停止容器。
docker compose stop
MySQL 工作台
下载
下载。 要下载的版本是 。 M1芯片采用的是ARM架构,所以合适的是。

8.0.38macOS (ARM, 64-bit), DMG Archive
添加连接
1、启动容器以连接到 MySQL。
docker compose start
2、打开它并单击加号按钮。

3、将打开以下对话框。

输入“连接名称”的任意值,然后使用 更新“端口”。.env.MYSQL_HOST_PORT
4、单击“测试连接”按钮。进入
后,将进行连接测试。
如果成功,请单击“确定”按钮关闭此对话框。.env.MYSQL_ROOT_PASSWORD
5、停止容器。
docker compose stop
操作
1、启动容器。
docker compose start
2、单击连接。
workbench_top_after
3、如果未保存在钥匙串中,请输入。.env.MYSQL_ROOT_PASSWORD
4、作直至满意。

5、停止容器。
docker compose stop
更多推荐
所有评论(0)