AWS RDS parameter group을 이용하여 Function 생성하기
지난 포스팅에서 AWS RDS를 이용해 MySQL DB를 생성해보았습니다. 이후에 MySQL DB에서 Fucntion을 생성하고 사용해야하는 경우가 생기게 됩니다. 예를 들어, DROP FUNCTION IF EXISTS hello_world; DELIMITER $$ CREATE FUNCTION hello_world (addressee TEXT ) RETURNS TEXT DETERMINISTIC READS SQL DATA BEGIN RETURN CONCAT( 'Hello ' , addressee); END; $$ DELIMITER ; SELECT hello_world( 'Earth' ); 위와 같은 FUNCTION을 생성하려고 SQL문을 작성하고 실행해보면 AWS RDS는 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) 이런 에러가 발생하게 됩니다. 에러를 확인해보면 log_bin_trust_function_creators_variable 를 설정하라는 내용입니다. 기존의 로컬이나 물리적 서버 설치였으면 cnf와 같은 환경설정 파일 상에서 환경변수를 설정해줄 수 있었지만, AWS RDS는 ssh와 같은 접속을 지원하지 않기때문에 parameter group 설정을 지원하고있습니다. AWS RDS Dashboard로 이동합니다. 왼쪽 메뉴에서 파라미터그룹탭으로 이동하면 default 그룹만 있는 상태입니다. 파라미터 그룹 생성을 클릭합니다. 사용하고 있는 DB 엔진을 선택하고 그룹이름과 설명을 입력하고 생성을 클릭합니다. 새로 생성한 파라미터 그룹의 파라미터 편집버튼을 누르고 필터에 function이라고 입력