위와 같은 에러가 발생할때가 있다.
나는 분명 host:localhost
제대로 입력했는데 왜 안되지 ? 라는 생각이 든다.
localhost
와 127.0.0.1
은 모두 현재 시스템을 가리키는 주소이지만, 실제로 이 두 주소를 처리하는 방식에는 중요한 차이가 있습니다.
Name Resolution:
localhost
는 시스템의 호스트 이름으로, 일반적으로 이름 해석을 통해 127.0.0.1
로 변환됩니다. 127.0.0.1
은 IP 주소입니다. 이름 해석 과정 없이 직접 연결됩니다.IPv6:
localhost
가 기본적으로 IPv6 주소인 ::1
로 해석됩니다. 127.0.0.1
에서만 수신 대기하고 있고 IPv6에서는 수신 대기하고 있지 않다면, localhost
를 사용하여 연결 시도 시 ECONNREFUSED
오류가 발생할 수 있습니다.MySQL 설정:
my.cnf
또는 my.ini
)에서 bind-address
지시어가 127.0.0.1
로 설정되어 있다면, 서버는 오직 IPv4 연결만을 허용합니다. 이 경우 localhost
가 IPv6 주소로 해석되면 연결이 거부될 수 있습니다.위의 이유로, 특히 네트워크 문제를 진단할 때 localhost
대신 명시적인 IP 주소인 127.0.0.1
을 사용하면 문제를 피하거나 해결할 수 있습니다.
그래서 만약에 안된다면
host:localhost
에서 host:127.0.0.1
로 변경해서 다시 한번 시도를 해보자.