从零开始到运行 MySQL 的全套“保姆级”教程,针对 Apple M2 芯片和 Docker 轻量配置优化,按照步骤就能直接运行。


Apple M2 + Docker + MySQL 轻量配置全教程


1️⃣ 安装 Docker Desktop for Mac(Apple Silicon)

  1. 打开浏览器,访问 Docker 官方网站下载页面:
    https://www.docker.com/products/docker-desktop/

    1. 下载 Mac (Apple chip) 版本(注意选择 Apple Silicon / arm64 版本)。

    2. 打开下载的 .dmg 文件,拖动 DockerApplications 文件夹。

    3. 启动 Docker Desktop,首次启动可能提示需要系统权限,允许即可。

    4. 验证安装:

    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️⃣ 高级优化建议(轻量开发)

    1. 限制资源

      • --memory=1g + --cpus=1.0 已保证 MySQL 对系统影响最小。

    2. 持久化数据

      • 挂载 ~/docker/mysql_data,保证容器删除或重建数据不丢失。

    3. 减少日志占用

      • 开发环境无需慢查询日志或二进制日志,可以通过容器参数或 MySQL 配置关闭,减少磁盘占用。

    4. 多版本测试

      • 可同时启动多个容器,不同端口,不同版本,方便版本兼容测试。


    10️⃣ 总结

    • 全程适配 Apple M2 + ARM 架构

    • 轻量资源:1 核 CPU + 1GB 内存

    • 数据持久化,不污染系统

    • 容器化易于管理,多版本测试灵活

    开发、学习、调试都非常适合,也可以快速迁移到远程服务器或生产环境。


    更多推荐