首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于Ubuntu20.04Server(AWS EC2)的Docker + MySQL 8.0.26项目的MySQL错误

基于Ubuntu20.04Server(AWS EC2)的Docker + MySQL 8.0.26项目的MySQL错误
EN

Stack Overflow用户
提问于 2021-08-20 01:10:19
回答 1查看 1.1K关注 0票数 0

我试图在基于Ubuntu20.04的AWS EC2服务器上配置带有Docker的MySQL(8.0.26)项目。但是,MySQL数据库容器由于名字而无法工作。这是一些解决方案-- solution1solution2solution3 --我已经尝试过了,但是没有找到更好的解决方案。

我已经创建了一个基于这个YouTube教程的示例项目,它成功地运行在我的本地机器上(macOS 11.4)。

docker-compose.yml

代码语言:javascript
运行
复制
version: '3.8'

services: 
  db:
    image: mysql:8.0.26
    restart: always
    command: --lower_case_table_names=1
    environment:
      - MYSQL_DATABASE=tutorialdb
      - MYSQL_USER=chitrang
      - MYSQL_PASSWORD=test123
      - MYSQL_ROOT_PASSWORD=test123
    ports:
      - "3307:3306"
    volumes:
      - ./dbdata:/var/lib/mysql
  backend:
    build: .
    command: python manage.py runserver 0.0.0.0:8000  
    ports:
      - 8000:8000
    volumes:
      - .:/app
    depends_on:
      - db

错误日志:

代码语言:javascript
运行
复制
db_1       | 2021-08-20 01:01:48+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.26-1debian10 started.
db_1       | 2021-08-20 01:01:50+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
db_1       | 2021-08-20 01:01:50+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.26-1debian10 started.
db_1       | 2021-08-20T01:01:51.247142Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.26) starting as process 1
db_1       | 2021-08-20T01:01:52.809303Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
db_1       | 2021-08-20T01:01:56.262851Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
db_1       | 2021-08-20T01:01:56.320513Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('2').
db_1       | 2021-08-20T01:01:56.321126Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
db_1       | 2021-08-20T01:01:56.321630Z 0 [ERROR] [MY-010119] [Server] Aborting
db_1       | 2021-08-20T01:01:56.867684Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.26)  MySQL Community Server - GPL.

我已经尝试在docker-come.yml文件中为lower_case_table_names设置所有三个可能的值0_~_\

我想解决方案可能很简单,但是由于这是我的第一个后端+ DevOps项目,我可能无法很容易地解决它。而且,这个问题似乎很常见,许多开发人员都面临着这个问题,所以我认为,无论是MySQL还是Ubuntu都应该解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2022-01-15 16:09:06

试试看,这对我有用:

https://gist.github.com/feltnerm/bb6e23f531803896ca1e

代码语言:javascript
运行
复制
version: '3.8'

services: 
  db:
    image: mysql:8.0.26
    restart: always
    command: --lower_case_table_names=0
    environment:
      - MYSQL_DATABASE=tutorialdb
      - MYSQL_USER=chitrang
      - MYSQL_PASSWORD=test123
      - MYSQL_ROOT_PASSWORD=test123
    ports:
      - "3307:3306"
    volumes:
      - ./data/initdb.d:/docker-entrypoint-initdb.d
      - ./data/mysql:/var/lib/mysql
  backend:
    build: .
    command: python manage.py runserver 0.0.0.0:8000  
    ports:
      - 8000:8000
    volumes:
      - .:/app
    depends_on:
      - db
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68855946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档