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

최종 업데이트 날짜: 2020년 11월 20일

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

"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로 변경합니다.

이 조건을 벗어나 모든 객체를 가져올 수 있게 하려면 Amazon RDS 사용자 지정 DB 파라미터 그룹을 통해 global log_bin_trust_function_creators 시스템 변수를 1로 설정합니다. 자세한 내용은 DB 파라미터 그룹의 파라미터 수정을 참조하세요.

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

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

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

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

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

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