万隆的笔记 万隆的笔记
博文索引
笔试面试
  • 在线学站

    • 菜鸟教程 (opens new window)
    • 入门教程 (opens new window)
    • Coursera (opens new window)
  • 在线文档

    • w3school (opens new window)
    • Bootstrap (opens new window)
    • Vue (opens new window)
    • 阿里开发者藏经阁 (opens new window)
  • 在线工具

    • tool 工具集 (opens new window)
    • bejson 工具集 (opens new window)
    • 文档转换 (opens new window)
  • 更多在线资源
  • Changlog
  • Aboutme
GitHub (opens new window)
博文索引
笔试面试
  • 在线学站

    • 菜鸟教程 (opens new window)
    • 入门教程 (opens new window)
    • Coursera (opens new window)
  • 在线文档

    • w3school (opens new window)
    • Bootstrap (opens new window)
    • Vue (opens new window)
    • 阿里开发者藏经阁 (opens new window)
  • 在线工具

    • tool 工具集 (opens new window)
    • bejson 工具集 (opens new window)
    • 文档转换 (opens new window)
  • 更多在线资源
  • Changlog
  • Aboutme
GitHub (opens new window)
  • Docker

  • Docker Compose

    • Docker Compose简介
    • Docker Compose 的使用
    • Docker Compose命令
    • Docker Compose 模板文件
    • Docker Compose 常用命令
    • Docker Compose 部署 Tomcat
    • Docker Compose 部署 MySQL
      • 模版文件
      • 运行
    • Docker Compose部署GitLab
    • Docker Compose部署Nexus
    • Docker Compose 部署 Harbor
    • Docker Compose 网络设置
  • Docker
  • Docker Compose
2021-07-18
目录

Docker Compose 部署 MySQL

# Docker Compose 部署 MySQL

# 模版文件

# MySQL 5.x

参考模版文件如下,请大家根据自己实际情况,映射数据卷。

version: '3.1'
services:
  mysql:
    restart: always
    image: mysql:5.7
    container_name: mysql
    ports:
      - 3306:3306
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123456
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M
      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    volumes:
      - /usr/local/docker/mysql5.7/conf:/etc/mysql
      - /usr/local/docker/mysql5.7/logs:/var/log/mysql 
      - /usr/local/docker/mysql5.7/data:/var/lib/mysql 

# MySQL 8.x

version: '3.1'
services:
  db:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
    ports:
      - 3306:3306
    volumes:
      - /usr/local/docker/mysql/data:/var/lib/mysql # 必须配置持久化数据
      - /usr/local/docker/mysql/my.cnf:/etc/mysql/my.cnf # 自定义配置文件,没有可不配置,大多数配置在上面command指令中

  adminer:
    image: adminer
    restart: always
    ports:
      - 33066:8080

我的自定义配置文件可见Docker部署MySQL。

相比Docker部署MySQL,Docker Compose实在简化了很多操作。

这里额外还部署了一个PHP写的MySQL管理后台,登录用户和密码为:root/123456。

# 运行

使用docker-compose up -d 启动即可。

# 5.7
wenwl@lubuntu:/usr/local/docker/mysql5.7$ docker-compose up -d
Creating network "mysql57_default" with the default driver
Creating mysql ... done

# 8.x
wenwl@lubuntu:/usr/local/docker/mysql$ docker-compose up -d
Starting mysql_db_1      ... done
Starting mysql_adminer_1 ... done
wenwl@lubuntu:/usr/local/docker/mysql$ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS         PORTS                                                  NAMES
379d8628b582   mysql     "docker-entrypoint.s…"   9 minutes ago    Up 5 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql_db_1
dadfb3b78f6d   adminer   "entrypoint.sh docke…"   25 minutes ago   Up 5 seconds   0.0.0.0:33066->8080/tcp, :::33066->8080/tcp            mysql_adminer_1

如果发现服务一直在尝试重启,这个时候可以查看容器日志docker logs -f containerId或前台运行(docker-compose up),根据具体报错去处理。

下面是我遇到的一些问题:

  • MySQL启动时显示“Different lower_case_table_names settings for server ('0') and data dictionary ('1') (opens new window)

(我在my.cnf文件加了lower_case_table_names=1的配置)

上次更新: 5/31/2023, 12:37:43 AM
Docker Compose部署GitLab

Docker Compose部署GitLab→

最近更新
01
2025
01-15
02
Elasticsearch面试题
07-17
03
Elasticsearch进阶
07-16
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式