Docker Compose 安装 MySQL 8

编写docker-compose.yml( 外部可访问)

yaml 复制代码
services:
  mysql:
    image: mysql:8.0
    container_name: mysql8
    restart: always  # 服务器/MySQL挂了自动重启
    environment:
      MYSQL_ROOT_PASSWORD: Rt173465.     # ROOT账户密码
      MYSQL_ROOT_HOST: '%'               # 允许外部连接 root
      TZ: Asia/Shanghai                  # 时区
      MYSQL_CHARSET: utf8mb4             # 字符集
      MYSQL_COLLATION: utf8mb4_unicode_ci
    ports:
      - "3306:3306"  # 端口映射
    # 推荐写法:相对路径,自动在当前目录创建 data, conf, logs
    volumes:
      - ./data:/var/lib/mysql
      - ./conf:/etc/mysql/conf.d
      - ./logs:/var/log/mysql
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_unicode_ci
      --ngram_token_size=2  # 设置 ngram 分词长度为 2(中文双字词)
      --innodb_ft_min_token_size=2  # 支持2字符的查询(解决「读了」长度不足问题)
      --innodb_ft_server_stopword_table = '' # 禁用停用词(避免「读了」被过滤)

1. 进入目录

bash 复制代码
cd /home/lishengli/docker-compose/mysql

2. 启动

bash 复制代码
docker-compose up -d

连接信息(外部工具直接用)

  • 主机:你的服务器IP
  • 端口:3306
  • 用户名:root
  • 密码:root123456(你自己改)
  • 权限:外部任何IP都能连 ✅

常用命令

bash 复制代码
# 启动
docker-compose up -d

# 停止
docker-compose stop

# 重启
docker-compose restart

# 删除容器(数据不丢)
docker-compose down

# 查看日志
docker-compose logs -f mysql

总结

  1. 目录完全匹配你的路径
  2. root 账号支持外部连接
  3. mysql:8.0 = 最新稳定版
  4. 数据、配置、日志全部持久化
相关推荐
小白的码BUG之路10 分钟前
Docker -- 构建ruoyi-gateway镜像
docker·容器·gateway
Dxy123931021623 分钟前
MySQL 条件注释语法
数据库·mysql
小白的码BUG之路39 分钟前
Docker -- 构建ruoyi-system镜像
运维·docker·容器
小白的码BUG之路1 小时前
Docker -- 构建redis镜像
运维·docker·容器
FYKJ_20101 小时前
SSM校园互助与闲置交易平台62145-计算机课程设计、毕业设计
java·spring boot·python·mysql·架构·spark·课程设计
傲世仙尊1 小时前
从HTTPS到MySQL-会话保持的攻防与数据库的真面目
数据库·mysql·https
江湖有缘1 小时前
Docker实战 | 使用Docker部署EspoCRM开源客户关系管理平台
docker·容器·开源
jyOverQ1 小时前
MySQL 崩溃以后怎么恢复数据?redo log、undo log 与 Crash Recovery
数据库·mysql
小白的码BUG之路2 小时前
Docker -- 构建ruoyi-auth镜像
运维·docker·容器
troy1285 小时前
K8s 平台测试清单:深度分析与实战指南
云原生·容器·kubernetes