docker-compose.yml 配置了MySQL与Redis的安装

services:
  mysql_dev:
    image: mysql:latest
    container_name: mysql_latest_dev
    volumes:
      - "./mysql:/var/lib/mysql"
    command: [ #使用 command 可以覆盖容器启动后默认执行的命令
        '--character-set-server=utf8mb4', #设置数据库表的数据集
        '--collation-server=utf8mb4_unicode_ci', #设置数据库表的数据集
        # '--innodb_force_recovery=5'
        # innodb_force_recovery=X行 X为0-6数字
        # 0正常运行mysql
        # 1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。
        # 2(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
        # 3(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。
        # 4(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。
        # 5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
        # 6(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。
    ]
    ports:
      - "3306:3306" # 对外映射的端口 可自己调整
    environment:
      - MYSQL_ROOT_PASSWORD=xxxx
      - TZ=Asia/Shanghai
      - MAX_ALLOWED_PACKET=1G
    restart: always


  redis_dev:
    image: redis:latest
    container_name: redis_latest_dev
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 6379:6379
    command:
      --requirepass xxx #这一行是设置密码 不设置留空即可
    privileged: true      #使用该参数,container内的root拥有真正的root权限
    restart: always
作者:admin  创建时间:2025-10-20 17:12
最后编辑:admin  更新时间:2025-10-20 17:21