반응형
django에서 로컬에서 실행중인 mysql 컨테이너에 접속할 때 아래처럼 에러가 발생했습니다.
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
위 에러는 DB Host를 localhost로 설정할 때 마주칩니다. DB Host를 localhost에서 127.0.0.1로 변경하면 오류가 사라집니다.
왜 localhost에서 127.0.0.1로 변경하면 문제가 해결될까요?
localhost는 IPv6, IPv4를 표현하는 도메인으로서 IPv6가 우선순위가 더 높습니다. 따라서 내 PC에서 IPv6를 쓸 수 있으면 localhost의 IP는 IPv6주소입니다. 도커 mysql 컨테이너는 보통 IPv4를 사용하도록 네트워크를 설정하기 때문에 IPv4주소를 갖습니다. IPv6를 사용할 수 있는 PC에서 django를 실행하면, django는 IPv6로 mysql 컨테이너에 접속하기 때문에 접속 오류가 발생합니다.
반응형
'전공영역 공부 기록' 카테고리의 다른 글
EKS 애드온의 버전별로 호환되는 EKS 버전을 확인하는 스크립트 (0) | 2024.08.25 |
---|---|
[django] urls.py에서 '/' url패턴을 못찾는 에러 해결방법 (0) | 2024.08.25 |
github의 파일 고유 URL을 얻는 방법 (0) | 2024.08.16 |
예제로 살펴보는 쿠버네티스 보안 (0) | 2024.08.15 |
SSH프로토콜 원리 (0) | 2024.08.03 |