내용으로 건너뛰기

Aurora MySQL 호환 DB 클러스터에 연결하려고 할 때 액세스 거부 오류가 발생하는 이유는 무엇입니까?

4분 분량
0

Amazon Aurora MySQL 호환 에디션 DB 클러스터에 연결하려고 하는데 “액세스 거부” 오류가 발생합니다.

간략한 설명

Aurora MySQL 호환 DB 클러스터에 연결하려면 다음 옵션 중 하나를 사용하십시오.

“액세스 거부” 오류는 일반적으로 잘못된 사용자 이름이나 암호를 입력할 때 발생합니다. 자세한 내용은 MySQL 웹사이트에서 액세스 거부를 참조하십시오.

해결 방법

Aurora DB 인스턴스가 연결을 허용하는지 확인

DB 인스턴스가 사용 가능 상태인지 확인합니다. 자세한 내용은 Amazon RDS DB 인스턴스 상태 보기Aurora 클러스터의 DB 인스턴스 상태 보기를 참조하십시오. 또한, Amazon RDS DB 인스턴스에 연결할 때 발생하는 문제를 해결하려면 어떻게 해야 하나요?를 참조하십시오.

DB 자격 증명을 사용하는 연결 문제 해결

잘못된 비밀번호

데이터베이스에 연결할 때 올바른 비밀번호를 입력해야 합니다. 비밀번호에 특수 문자를 사용하지 마십시오. 자세한 내용은 Amazon RDS DB 인스턴스의 관리자 암호를 재설정하려면 어떻게 해야 하나요?를 참조하십시오.

잘못된 사용자 이름

데이터베이스에 연결할 때 올바른 사용자 이름을 입력해야 합니다.

사용자가 존재하는지 확인하려면 다음 쿼리를 실행합니다.

mysql> SELECT user FROM mysql.user WHERE User='username';

사용자가 존재하지 않는 경우 다음 쿼리를 실행하여 새 사용자를 생성합니다.

mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'new-password-here';
mysql> FLUSH        PRIVILEGES;

자세한 내용은 마스터 사용자 계정 권한을 참조하십시오.

사용자가 존재하지만 클라이언트 호스트에 연결 권한이 없음

MySQL에서 연결을 허용하는 호스트 사용자 또는 호스트를 확인하려면 다음 쿼리를 실행합니다.

mysql> SELECT host, user FROM mysql.user WHERE User='username';

올바른 호스트 클라이언트 IP 주소 또는 모든 IP 주소와 일치하는 와일드카드 기호(%)를 사용하여 사용자를 생성하려면 다음 쿼리를 실행합니다.

mysql> CREATE USER 'dbuser'@'%' IDENTIFIED BY 'new-password-here';

**SSL이 필요하지만 클라이언트가 SSL을 사용하지 않음 **

사용자가 SSL을 적용했는지 확인하려면 DB 인스턴스에서 다음 쿼리를 실행합니다.

mysql> SELECT * FROM mysql.user WHERE ssl_type <> '';

SSL이 적용된 경우 SSL을 사용하여 연결해야 합니다. 자세한 내용은 SSL/TLS를 사용하여 DB 클러스터에 대한 연결 암호화를 참조하세요.

중복 사용자

사용자 이름이 같은 사용자가 있는지 확인하려면 다음 쿼리를 실행합니다.

mysql> SELECT host, user FROM mysql.user WHERE User='username';

중복 사용자를 해결하려면 다른 사용자를 삭제할 권한이 있는 사용자로 로그인합니다. 보조 사용자를 삭제한 후에는 첫 번째 사용자가 연결할 수 있습니다.

자세한 내용은 MySQL을 실행하는 Amazon RDS DB 인스턴스에 대한 다른 관리자 사용자를 만들려면 어떻게 해야 하나요?를 참조하십시오.

Bash에서 비밀번호의 특수 문자 변환

Bash에서 비밀번호의 특수 문자를 변환할 수 없도록 비밀번호를 작은따옴표로 묶으십시오.

연결 패킷에 올바른 정보가 포함되어 있지 않음

연결 패킷이 연결 패킷을 가져오는 데 connect_timeout초보다 오래 걸립니다. 자세한 내용은 MySQL 웹사이트에서 connect_timeout을 참조하십시오. 쿼리 및 워크로드에 맞춰 이 DB 파라미터의 값을 조정할 수 있습니다.

max_allowed_packet 변수 값이 너무 작거나 쿼리에 DB 인스턴스에 할당한 것보다 많은 메모리가 필요함

기본적으로 max_allowed_packet 값은 64MB입니다. 자세한 내용은 MySQL 웹사이트에서 max_allowed_packet을 참조하십시오.

큰 BLOB 열이나 긴 문자열을 사용하는 경우 max_allowed_packet의 값을 늘리십시오. 자세한 내용은 Amazon RDS for MySQL의 파라미터 구성 모범 사례, 파트 3: 보안, 운영 관리 용이성 및 연결 시간 제한 관련 매개변수를 참조하십시오.

IAM 인증을 사용하는 연결 문제 해결

연결하려면 사용자가 Amazon IAM 자격 증명을 통해 Amazon RDS for MySQL DB 인스턴스에 인증하도록 허용하려면 어떻게 하나요?를 참조하세요.

연결할 수 없는 경우, IAM 인증을 사용하여 Amazon RDS for MySQL에 연결하려고 할 때 Access Denied 오류가 발생하는 이유는 무엇인가요?를 참고하세요.

Amazon RDS Proxy를 사용하는 연결 문제 해결

DB 클러스터에 연결하려면 Amazon RDS 프록시를 사용하여 Amazon RDS for MySQL DB 인스턴스 또는 Aurora MySQL-Compatible DB 클러스터에 연결하려면 어떻게 해야 하나요?를 참조하십시오.

DB 클러스터에 연결할 수 없는 경우 RDS 프록시를 사용하여 Amazon RDS DB 또는 Amazon Aurora DB 인스턴스에 연결할 수 없는 이유는 무엇인가요?를 참조하십시오.

관련 정보

Amazon Aurora MySQL DB 클러스터에 연결

MariaDB, MySQL, PostgreSQL용 IAM 데이터베이스 인증

Amazon RDS의 파라미터 그룹

VPC의 퍼블릭 또는 프라이빗 서브넷을 사용하는 Amazon RDS DB 인스턴스에 대한 연결 문제를 해결하려면 어떻게 해야 하나요?

AWS 공식업데이트됨 일 년 전