본문 바로가기

리눅스

MySQL ERROR 1130: 원격 접속 권한 설정 및 해결 방법

반응형

MySQL ERROR 1130: 원격 접속 권한 설정 및 해결 방법

MySQL 서버에 원격으로 접속할 때 가장 자주 발생하는 "ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server" 오류에 대한 해결 과정을 정리합니다.

1. 환경 구성

  • MySQL 서버 : 192.168.0.50 (접속 대상)
  • 클라이언트 : 192.168.0.100 (접속 시도)
  • 사용자 계정 : scbyun

2. 문제 상황: 원격 접속 거부

클라이언트 서버에서 MySQL 서버로 접속을 시도했으나 원격 접속 권한이 없어 오류가 발생합니다.

[root@client bin]$ ./mysql -u scbyun -p -h 192.168.0.50 -P 3306
Enter password: 
ERROR 1130 (HY000): Host '192.168.0.100' is not allowed to connect to this MySQL server

3. 해결 방법: MySQL 서버에서 권한 부여

MySQL 서버(192.168.0.50)에 직접 접속하여 특정 호스트(IP) 또는 모든 호스트에 대해 접근 권한을 설정해야 합니다.

 

방법 A. 특정 IP(192.168.0.100)만 허용할 경우 (보안 권장)

특정 IP 주소에서만 접속이 가능하도록 제한하여 보안을 강화합니다.

-- 특정 DB(first)에 대한 권한 부여
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON first.* TO 'scbyun'@'192.168.0.100' IDENTIFIED BY '12345';

-- 변경된 권한 적용
FLUSH PRIVILEGES;

 

방법 B. 모든 원격 접속을 허용할 경우 (Any Host)

어디서든 접속이 가능하도록 설정합니다. (테스트 환경에서 주로 사용)

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON first.* TO 'scbyun'@'%' IDENTIFIED BY '12345';

FLUSH PRIVILEGES;

 

참고 (MySQL 8.0 이상)

  • 최신 버전에서는 계정 생성(CREATE USER)과 권한 부여(GRANT)를 분리해서 실행해야 합니다.
CREATE USER 'scbyun'@'192.168.0.100' IDENTIFIED BY '12345';
GRANT ALL PRIVILEGES ON first.* TO 'scbyun'@'192.168.0.100';

4. 결과 확인

권한 설정 후 다시 클라이언트에서 접속을 시도하면 정상적으로 연결되는 것을 확인할 수 있습니다.

[root@client bin]# ./mysql -u scbyun -p -h 192.168.0.50 -P 3306
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.0.77 Source distribution

mysql>

 

728x90
반응형