💡/오류노트

[MySQL] [HY000][1130] "Host 'xxx.xxx.xx.x' is not allowed to connect to this MySQL server". 에러 해결

built 2024. 8. 10. 00:28

프로젝트 초기에 MySQL을 연결하면서 똑같은 에러가 발생했었다.

그 때 Password를 한번 더 입력해주면 해결이 되었었다..

 

 

그리고 며칠 후 다시 마주한 에러

[HY000][1130] null, message from server: "Host 'xxx.xxx.xx.x' is not allowed to connect to this MySQL server".

 

이번엔 지난번에 했던 방법으로 해결되지 않아 에러 내용을 자세히 살펴보게 되었다.

 

MySQL 서버가 특정 IP 주소나 호스트로부터의 연결을 허용하지 않도록 설정되어 있기 때문에 발생한 에러이다.

 

기본적으로 서버는 보안상 로컬에서만 접속이 가능하도록 설정되어 있기 때문에 외부 IP 주소에서의 접속은 차단된다.

이를 해결하기 위해 MySQL 사용자 계정에 원격 접속 권한을 부여해보자.

 

 

1. MySQL root 계정 로그인

mysql -u root -p

 

 

 

2. 사용자 생성

원격 접속을 허용할 계정을 생성하고 비밀번호를 설정한다. 필자는 동일하게 root 사용자를 생성했다.

CREATE USER 'root'@'xxx.xxx.xx.x' IDENTIFIED BY 'my_password';

 

 

 

3. 권한 부여

GRANT ALL PRIVILEGES ON *.* TO 'root'@'xxx.xxx.xx.x';

 

 

 

4. 권한 적용

변경된 사용자 권한이 즉시 적용되도록 권한 테이블을 다시 로드한다.

FLUSH PRIVILEGES;

 

 

 

5. 연결 확인

 

연결을 성공하니 프로젝트 실행도 잘 된다!!👍