Error Code: 1419. 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) 0.000 sec
RDS로 만든 MySQL DB에서 시퀀스를 구현하기 위해 function을 생성하려 했을 때 나온 오류
명령 프롬프트 실행 후
C:\Program Files\MySQL\MySQL Server 8.0\bin
폴더로 가기
(처음에 C:\Windows\System32 위치이면 cd.. 로 폴더를 C까지 빠져나가고, cd 폴더이름 으로 들어가기)
mysql -u root -p
입력 후 패스워드 입력해서 mysql 루트 계정 접속하기
mysql>이 뜨면
SET Global log_bin_trust_function_creators=1;
입력

(완료)
show variables like '%log_bin_tr%';
를 입력해서 ON이 뜨면 바뀐거다

근데..?

사용하고있는 DB에서 확인해보니 OFF로 되어있다
루트 계정에서 다 바꿔주는게 아닌건가?
localhost 로 사용하고 있는 다른 DB에서 명령어를 실행해보니, 거기는 ON으로 되어있다
아마 아마존 RDS로 만든 DB여서 변경이 안된듯하다.


RDS의 파라미터 그룹에서 새로운 파라미터 그룹을 생성하고, 수정을 누른 뒤 log_bin_trust_function_creators의 값을 1로 변경한다

RDS - 데이터베이스 - 사용중인 DB선택 - 수정 - 데이터베이스 옵션에서 위에서 수정한 파라미터 그룹 선택 후 확인

수정한 뒤 데이터베이스를 재부팅 시켜줘야한다.
나는 파라미터 그룹까지 다 변경 했는데 재부팅을 안해서.. OFF로 되어있었던것

다시 실행해보니 ON으로 바뀌고 function 생성도 정상적으로 작동한다