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