[MySQL] Unable to connect to localhost 오류

이정빈·2024년 7월 13일
0

트러블슈팅

목록 보기
6/7
post-thumbnail

오류 상황

오류 내용


EC2 서버 내에 mysql을 설치하고 유저를 생성하였다. 그런데 로컬의 workbench에서 ec2내의 mysql에 접속이 되지 않는다...


예상 원인

인바운드 규칙 설정

이런 문제를 꽤 겪었었는데 대부분의 문제는 AWS 콘솔을 통한 인바운드 규칙 변경이나 EC2의 방화벽 설정을 통해서 풀렸었다.

올바르지 않은 비밀번호

흔하게 나타나는 원인으로 올바르지 않은 비밀번호를 입력해서 이런 문제가 나타날 수 있다.


예상 해결 방안

인바운드 규칙 변경


위와 같이 인바운드 규칙에서 ssh와 mysql만 내 IP에서 접속하고 나머지는 모든 IPv4로 열어두었다.

비밀번호 확인


WorkBench에 사용한 비밀번호로 잘 로그인 되는 것을 볼 수 있었다.

그럼에도 해결이 되지 않았다.


실제 해결 방법

아웃바운드 규칙 변경

아웃바운드 규칙에 아래와 같이 적용하니 잘 작동하였다.

왜 인바운드와 아웃바운드 규칙 모두를 바뀌야 작동할까?

응답 트래픽의 허용 때문이다.
클라이언트가 MySQL 서버에 연결을 시도할 때, 인바운드 규칙이 적절히 설정되어 있다면 요청은 서버로 도달한다. 그러나 서버가 클라이언트에게 응답을 보낼 수 없다면 연결이 완료되지 않는다. 아웃바운드 규칙을 통해 MySQL 서버가 클라이언트에게 응답할 수 있도록 허용하면 연결이 정상적으로 이루어진다.

profile
사용자의 입장에서 생각하며 문제를 해결하는 백엔드 개발자입니다✍

0개의 댓글