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. 数据、配置、日志全部持久化
相关推荐
FJW0208142 小时前
cephadm部署ceph集群以及k8s对接
ceph·容器·kubernetes
洛兮银儿2 小时前
如何用python连接mysql数据库?
数据库·mysql
CDN3602 小时前
MySQL安全加固十大硬核操作及CDN的隐形守护
数据库·mysql·安全
vpk1122 小时前
Docker Compose 常用命令大全
docker·容器·eureka
爪哇斗罗3 小时前
Explain详解与索引优化最佳实践
mysql
计算机学姐3 小时前
基于SpringBoot的流浪动物救助收养系统
vue.js·spring boot·后端·mysql·java-ee·intellij-idea·mybatis
last demo3 小时前
docker容器监控
运维·docker·容器
小李来了!3 小时前
Oracle、MySQL、SQL server介绍及有何区别
数据库·mysql·oracle·sqlserver
mcooiedo3 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql