version: '3.8' # 使用较新的版本，支持更多功能

services:
  mysql:
    image: registry.cn-hangzhou.aliyuncs.com/37/mysql:8
    container_name: mysql # 容器名称
    restart: always # 容器退出时自动重启
    environment:
      MYSQL_ROOT_PASSWORD: your_strong_root_password # 设置 root 用户密码，务必修改！
    ports:
      - "3306:3306" # 将容器的 3306 端口映射到宿主机的 3306 端口
    volumes:
      - ./data/mysql:/var/lib/mysql # 持久化存储 MySQL 数据
      - ./data/my.cnf:/etc/mysql/conf.d/my.cnf # (可选) 挂载自定义配置文件
    # (可选) 如果需要初始化 SQL 脚本
    # volumes:
    #   - ./init.sql:/docker-entrypoint-initdb.d/init.sql # 启动时执行的初始化脚本
    command: --default-authentication-plugin=mysql_native_password # (可选) 兼容旧客户端认证，MySQL 8 默认使用 caching_sha2_password
    # command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci # (可选) 设置默认字符集和排序规则