RDS에서 트리거를 생성하려고 하면 바이너리 로깅에 대한 오류가 발생합니다.

RDS에서 트리거를 생성하려고 하면 바이너리 로깅에 대한 오류가 발생합니다.

RDS에서 트리거를 생성하려고 하면 다음 오류가 발생합니다.

ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is
enabled (you *might* want to use the less safe log_bin_trust_function_creators
variable)

SUPER 권한을 얻거나 바이너리 로깅을 비활성화하는 방법이 있습니까?

답변1

SUPER 권한을 얻을 수 있는 방법이 있는지는 모르겠지만 바이너리 로깅을 비활성화하는 방법이 있습니다(따라서 트리거 생성을 위한 SUPER 권한이 필요하지 않음). 이는 변수를 설정하여 수행됩니다.log_bin_trust_create_function_creators1로.

  1. 새 RDS 파라미터 그룹 생성. 또는 현재 매개변수 그룹을 수정하고(기본 매개변수 그룹이 아닌 경우) 3~5단계를 건너뛸 수도 있습니다.
  2. log_bin_trust_create_function_creators해당 매개변수 그룹의 값을 1로 변경합니다 .
  3. 또한 RDS 인스턴스가 현재 사용하고 있는 파라미터 그룹에서 기본값이 아닌 값이 있는 파라미터를 변경하십시오. RDS 인스턴스는 하나의 파라미터 그룹에만 연결될 수 있기 때문에 이는 필요합니다.
  4. 새 파라미터 그룹을 사용하도록 RDS 인스턴스를 수정합니다.
  5. 매개변수 그룹 변경 사항이 이벤트 로그에 표시될 때까지 기다립니다.
  6. RDS 인스턴스를 다시 시작합니다. log_bin_trust_create_function_creators동적 변수로 표시되므로 다시 시작할 필요가 없지만 변경 사항을 적용하려면 항상 RDS 인스턴스를 다시 시작해야 했습니다. 아마도 다른 방법이 있을 것 같은데 아직 찾지 못했습니다.

관련 정보