version: '2.2'

services:
  mysql:
    image: mysql:8.0.26
    container_name: mysql
    command:
    # MySQL8的密码验证方式默认是 caching_sha2_password，但是很多的连接工具还不支持该方式
    # 就需要手动设置下mysql的密码认证方式为以前的 mysql_native_password 方式
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --lower-case-table-names=1 # 设置表名大小写不敏感
    # docker的重启策略：在容器退出时总是重启容器，但是不考虑在Docker守护进程启动时就已经停止了的容器
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: huansi@V3 # root用户的密码
      MYSQL_USER: huansi # 创建新用户
      MYSQL_PASSWORD: huansi.net # 新用户的密码
      TZ: Asia/Shanghai
    ports:
      - 3306:3306
    volumes:
      - ./mysql/data:/var/lib/mysql
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/logs:/logs 