[컴] MariaDB에서 binaray logging 이 되어 있다면, trigger 를 만들때 super 권한이 필요하다.

aws mysql / aws mariadb

MariaDB에서 binaray logging 이 되어 있다면, trigger 를 만들때 super 권한이 필요하다.

"You do not have the SUPER privilege and binary logging is enabled" 

자동 백업 기능(automated backups)은 MySQL에 대해 바이너리 로깅(binary logging)을 켤지, 끌지를 결정한다.

  • 바이너리 로깅 on: 백업 보존 기간(backup retention period)을 0이 아닌 양수 값으로 설정한다.
  • 바이너리 로깅 off: 백업 보존 기간을 0으로 설정한다.

자동백업을 활성화하는 법: Working with backups - Amazon Relational Database Service

  • Creating triggers with binary logging enabled requires SUPER privilege | Troubleshooting for Amazon RDS - Amazon Relational Database Service

    • 바이너리 로깅(binary loggin)이 활성화된 경우 trigger를 사용하려면 SUPER 권한이 필요하다.
    • 이 권한은 RDS for MySQL 및 RDS for MariaDB DB instance에서는 제한이 되어있다.(참고로, 자동으로 만들어지는 user 계정도 SUPER 를 가지고 있지 않다.)
    • SUPER 권한이 없어도 log_bin_trust_function_creators 매개 변수를 true로 설정하여 binary logging이 활성화된 상황에서 trigger를 만들 수 있다.
    • log_bin_trust_function_creators를 true로 설정하려면 새 DB parameter group을 생성하거나 기존 DB parameter group을 수정하면 된다.
      (참고로, 이미 RDS 가 run 하고 있을때 수정했다면, reboot 이 필요할 수 있다.)

현재 RDS 의 binray logging 이 활성화됐는지 확인

현재 RDS 의 binray logging 이 활성화됐는지는 다음 query 로 알 수 있다.

show global variables like 'log_bin'; 

version 확인

참고로 binary log 가 활성됐을 때 db version 을 확인하면 아래처럼 ‘-log’ 가 붙어서 보인다.

-- binary loggin on
> select version();
'10.6.10-MariaDB-log'

-- binary loggin off
> select version();
'10.6.10-MariaDB'

댓글 없음:

댓글 쓰기