从零开始到运行 MySQL 的全套"保姆级"教程,针对 Apple M2 芯片和 Docker 轻量配置优化,按照步骤就能直接运行。
Apple M2 + Docker + MySQL 轻量配置全教程
1️⃣ 安装 Docker Desktop for Mac(Apple Silicon)
-
打开浏览器,访问 Docker 官方网站下载页面:
https://www.docker.com/products/docker-desktop/ -
下载 Mac (Apple chip) 版本(注意选择 Apple Silicon / arm64 版本)。
-
打开下载的
.dmg文件,拖动 Docker 到Applications文件夹。 -
启动 Docker Desktop,首次启动可能提示需要系统权限,允许即可。
-
验证安装:
docker --version
docker info
你应该能看到 Docker 版本信息和系统信息。
💡 注意:M2 芯片是 ARM 架构,后续拉取 MySQL 镜像时需要选择官方支持 arm64 的版本(官方镜像已支持)。
2️⃣ 创建本地数据目录
为了持久化数据库数据(容器删除也不丢失):
mkdir -p ~/docker/mysql_data
~/docker/mysql_data是数据库文件存储目录,可自定义路径,但建议放在用户目录下。
3️⃣ 拉取 MySQL 镜像(arm64 版本)
docker pull mysql:8.0
-
8.0是 MySQL 官方最新版,开发和测试推荐 -
官方镜像已兼容 ARM 架构,无需额外设置
4️⃣ 启动 MySQL 容器(轻量优化版)
docker run -d \
--name my-mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=dev_db \
-e MYSQL_USER=dev \
-e MYSQL_PASSWORD=dev123 \
-p 3306:3306 \
-v ~/docker/mysql_data:/var/lib/mysql \
--memory="1g" \
--cpus="1.0" \
mysql:8.0 \
--default-authentication-plugin=mysql_native_password
参数说明
| 参数 | 含义 |
|---|---|
--name my-mysql |
容器名称 |
-e MYSQL_ROOT_PASSWORD=123456 |
root 密码 |
-e MYSQL_DATABASE=dev_db |
启动时创建默认数据库 |
-e MYSQL_USER=dev / -e MYSQL_PASSWORD=dev123 |
创建普通开发用户 |
-p 3306:3306 |
映射本机端口,可用本地客户端访问 |
-v ~/docker/mysql_data:/var/lib/mysql |
数据持久化 |
--memory="1g" |
限制容器内存,轻量运行 |
--cpus="1.0" |
限制 CPU 占用,保证系统不卡顿 |
--default-authentication-plugin=mysql_native_password |
避免客户端兼容性问题 |
这样配置占用 1 核 CPU + 1GB 内存,非常轻量,适合本地开发。
5️⃣ 验证容器是否运行
docker ps
你应该看到:
CONTAINER ID IMAGE COMMAND ... PORTS
xxxxxx mysql:8.0 "docker-entrypoint..." ... 0.0.0.0:3306->3306/tcp
6️⃣ 连接 MySQL
6.1 命令行连接
docker exec -it my-mysql mysql -uroot -p
# 输入密码:123456
6.2 本地客户端连接
-
Host:
127.0.0.1 -
Port:
3306 -
User:
dev -
Password:
dev123 -
Database:
dev_db
可以使用 Navicat、DBeaver、DataGrip 等工具。
7️⃣ 停止和启动容器
# 停止
docker stop my-mysql
# 启动
docker start my-mysql
数据仍然保存在
~/docker/mysql_data,不会丢失。
8️⃣ 删除容器(数据不丢失)
docker rm -f my-mysql
数据在
~/docker/mysql_data中仍然存在,可重新创建容器挂载使用。
9️⃣ 高级优化建议(轻量开发)
-
限制资源
--memory=1g+--cpus=1.0已保证 MySQL 对系统影响最小。
-
持久化数据
- 挂载
~/docker/mysql_data,保证容器删除或重建数据不丢失。
- 挂载
-
减少日志占用
- 开发环境无需慢查询日志或二进制日志,可以通过容器参数或 MySQL 配置关闭,减少磁盘占用。
-
多版本测试
- 可同时启动多个容器,不同端口,不同版本,方便版本兼容测试。
10️⃣ 总结
-
全程适配 Apple M2 + ARM 架构
-
轻量资源:1 核 CPU + 1GB 内存
-
数据持久化,不污染系统
-
容器化易于管理,多版本测试灵活
开发、学习、调试都非常适合,也可以快速迁移到远程服务器或生产环境。