자동 백업이 활성화된 Amazon RDS MySQL 인스턴스로 데이터를 가져올 때 ERROR 1227을 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 6월 24일

mysqldump를 사용하여 생성한 논리적 백업을 자동 백업이 활성화된 MySQL 인스턴스용 Amazon Relational Database Service(Amazon RDS)로 가져왔습니다. 그런데 다음과 비슷한 오류가 발생했습니다.

"Error: 1227 SQLSTATE: 42000 (ER_SPECIFIC_ACCESS_DENIED_ERROR) Access denied; you need (at least one of) the %s privilege(s) for this operation."

간략한 설명

이 오류는 데이터베이스에서 바이너리 로그가 활성화되고 mysqldump 파일이 객체(트리거, 보기, 함수 또는 이벤트)를 포함하는 경우에 발생합니다. 자세한 내용은 The Binary Log에 대한 MySQL 설명서를 참조하십시오.

create 문에 “NO SQL,” “READS SQL DATA” 또는 “DETERMINISTIC” 키워드가 포함되지 않는 경우 MySQL은 해당 객체를 생성할 수 없고, 가져오기는 오류 1227로 실패합니다.

해결 방법

오류 1227을 해결하려면 log_bin_trust_function_creators의 파라미터 그룹 값을 1로 변경합니다.

이 조건을 완화하고 모든 객체의 가져오기를 허용하려면 RDS 사용자 지정 파라미터 그룹을 통해 global log_bin_trust_function_creators 시스템 변수를 1로 설정합니다. 자세한 내용은 DB 파라미터 그룹의 파라미터 수정을 참조하십시오.

참고: 기본 파라미터 그룹의 값은 변경할 수 없으므로 RDS DB 인스턴스에 기본 파라미터 그룹이 현재 연결된 경우 RDS DB 인스턴스에 사용자 지정 파라미터 그룹을 연결해야 합니다. RDS DB 인스턴스에 새 파라미터 그룹을 연결한 후에 RDS DB 인스턴스를 재부팅해야 합니다.

사용자 지정 파라미터 그룹이 RDS DB 인스턴스에 연결된 경우:

  1. Amazon RDS 콘솔을 열고 탐색 창에서 파라미터 그룹을 선택합니다.
  2. RDS DB 인스턴스에 연결된 사용자 지정 파라미터 그룹 이름을 선택합니다.
  3. 파라미터 필터링 필드에 log_bin_trust_function_creators를 입력하고 파라미터 편집을 선택합니다.
  4. log_bin_trust_function_creators1로 변경합니다.
  5. 변경 사항 저장을 선택합니다.
    참고: 이 파라미터는 동적이며, 고객 파라미터 그룹은 이미 RDS DB 인스턴스에 연결되었으므로, RDS는 이 변경 사항을 즉시 적용합니다. 자세한 내용은 DB 파라미터 그룹 작업을 참조하십시오.

RDS DB 인스턴스에 기본 파라미터 그룹이 연결된 경우:

  1. Amazon RDS 콘솔을 열고 탐색 창에서 파라미터 그룹을 선택합니다.
  2. 파라미터 그룹 생성을 선택하고 RDS DB 인스턴스와 일치하는 파라미터 그룹 패밀리를 선택합니다.
  3. 그룹 이름설명을 입력하고 생성을 선택합니다.
  4. 새 파라미터 그룹 이름을 선택하고 파라미터 필터링 필드에 log_bin_trust_function_creators를 입력합니다.
  5. 파라미터 편집을 선택하고 log_bin_trust_function_creators1로 변경합니다.
    참고: 오류가 발생한 대상 RDS DB 인스턴스에 동일한 파라미터 그룹을 연결하였는지 반드시 확인합니다.
  6. 변경 사항 저장을 선택합니다.
  7. 탐색 창에서 데이터베이스를 선택합니다.
  8. RDS DB 인스턴스를 선택하고 수정을 선택합니다.
  9. 데이터베이스 옵션에서 생성한 새 파라미터 그룹을 선택합니다.
  10. 계속을 선택합니다.
  11. 즉시 적용 또는 다음 예정된 유지 관리 기간에 적용을 선택합니다.
  12. DB 인스턴스 수정을 선택합니다.
  13. 파라미터 그룹 상태가 동기화되도록 RDS DB 인스턴스를 수동으로 재부팅합니다.
    참고: 연결된 새 파라미터 그룹에 대한 변경 사항을 적용하려면 RDS DB 인스턴스를 수동으로 재부팅해야 합니다. 자세한 내용은 DB 파라미터 그룹 작업을 참조하십시오.

바이너리 로깅 또는 자동 백업을 활성화하고 Amazon RDS for MySQL 인스턴스로 덤프를 가져오려고 할 때 이 오류가 발생하는 경우 log_bin_trust_function_creators 파라미터를 설정했는지 확인합니다. 자세한 내용은 mysqldump를 사용하여 Amazon RDS for MySQL인스턴스S로 데이터를 가져올 때 정의자 오류를 해결하려면 어떻게 해야 합니까?를 참조하십시오.