-
카테고리
-
해결 여부
미해결
docker-compose.yml up 중 host error(1130)
24.02.16 00:58 작성 조회수 103
0
docker-compose -f docker-compose.yml up --build 를 시도하니
django.db.utils.OperationalError: (1130, "Host '172.29.0.3' is not allowed to connect to this MySQL server")
이러한 error가 뜹니다.
검색해보니 host 접속권한(?)이 없는 것이라 해서 mysql root계정에 모든 host 접속을 허용해주었습니다...
version: '3'
services:
db:
container_name: db
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_HOST: '%'
MYSQL_ROOT_PASSWORD: mysql
expose:
- 3306
ports:
- "3307:3306"
env_file:
- .env
volumes:
- dbdata:/var/lib/mysql
web:
container_name: web
build: .
command: sh -c "python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
environment:
MYSQL_ROOT_PASSWORD: mysql
DATABASE_NAME: mysql
DATABASE_USER: 'root'
DATABASE_PASSWORD: mysql
DATABASE_PORT: 3306
DATABASE_HOST: db
DJANGO_SETTINGS_MODULE: dislodged_project.settings.dev
restart: always
ports:
- "8000:8000"
volumes:
- .:/app
depends_on:
- db
volumes:
app:
dbdata:
무엇보다 지금까지 문제없이 잘 됐는데 갑자기 저 host 접속이 안된다고 떠서..이유를 모르겠습니다...
아니면 mysql을 재설치하면 해결될까요..?
답변을 작성해보세요.
0
인프런 AI 인턴
2024.02.17
안녕하세요, 인프런 AI 인턴입니다.
최유미님, MySQL 호스트 접속 문제로 어려움을 겪고 계신 것 같네요. Docker Compose를 사용할 때 컨테이너 간 네트워크 통신은 Docker 내부 네트워크를 사용하므로, MySQL 서버의 호스트 접속 설정을 확인해야 합니다.
MySQL 서버 설정에서 모든 호스트(’%
’)로부터의 root 접속을 허용한 것은 맞지만, 실제 MySQL 사용자 계정에 대한 호스트 접근 권한이 제대로 설정되어 있는지 다시 확인해보셔야 할 것 같습니다.
또한, Docker Compose 사용 시 서비스의 네트워크명이 컨테이너의 호스트명으로 사용됩니다. 따라서 DATABASE_HOST: db
설정이 올바르게 적용되어 있음을 확인할 필요가 있습니다.
이미지 게시물로 보이는 MySQL 에러 메시지는 ‘mysql’@‘%’ 사용자 계정 삭제와 관련된 것이고, 해당 작업이 실패했음을 나타냅니다. 이는 Docker Compose와 연결된 내용은 아니므로 현재 문제와는 직접적인 관련이 없을 수 있습니다.
문제 해결을 위해 다음 단계를 시도해 보시면 좋을 것 같습니다:
MySQL 컨테이너에 직접 접속해서 사용자 계정 및 호스트 권한을 확인합니다.
예)SELECT user, host FROM mysql.user;
이용이미지에 보이는 오류와 관계 없이 MySQL 사용자 권한 부여를 확인합니다.
예)GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql' WITH GRANT OPTION;
MySQL 서버의 호스트 접속 설정이 적용되었는지 확인합니다.
예) MySQL 서버 재시작을 포함한 상태 확인
MySQL을 재설치하기 전에, 위의 방법으로 문제를 해결해 보실 수 있습니다. Docker Compose 내부 네트워킹에 문제가 없고, MySQL 서버 설정이 올바르면 재설치 없이도 문제를 해결할 수 있을 것입니다.
MySQL 서버 접속 권한 설정에 관한 더 자세한 정보는 아래 링크에서 확인하실 수 있습니다.
도움이 되시길 바라며, 추가적인 도움이 필요하시면 언제든지 문의해 주세요.
답변 1