gpt4 book ai didi

mysql - Ubuntu 20.04 服务器(AWS EC2)上基于 Docker + MySQL 8.0.26 的项目的 lower_case_table_names 错误

转载 作者:行者123 更新时间:2023-12-04 19:28:38 64 4
gpt4 key购买 nike

我正在尝试使用 Docker Compose 在基于 Ubuntu 20.04 的 AWS EC2 服务器上配置我的 Django + MySQL(8.0.26) 项目。但是,由于 lower_case_table_names,MySQL 数据库容器无法工作。 .这些是一些解决方案solution1 , solution2 , solution3我已经尝试过但无法找到解决方案。
我已经基于这个 YouTube tutorial 创建了一个示例项目它在我的本地机器(macOS 11.4)上成功运行。
docker-compose.yml

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
错误日志:
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-compose.yml 文件中为 lower_case_table_names 设置所有三个可能的值 0|1|2,但每次的错误消息都相似。
我想解决方案可能很简单,但由于这是我的第一个 Backend + DevOps 项目,我可能无法轻松解决。此外,这个问题似乎很常见,许多开发人员都面临过,所以我认为 MySQL 或 Ubuntu 团队应该已经解决了这个问题。

最佳答案

试试这个,它对我有用:
https://gist.github.com/feltnerm/bb6e23f531803896ca1e

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

关于mysql - Ubuntu 20.04 服务器(AWS EC2)上基于 Docker + MySQL 8.0.26 的项目的 lower_case_table_names 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68855946/

64 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com