MySQL RDS dump/load 에러

김가영·2024년 8월 13일

AWS

목록 보기
2/2

에러코드

ERROR 1227 (42000) at line 18: Access denied; you need 
(atleast one of) the SUPER, SYSTEM_VARIABLES_ADMIN or 
SESSION_VARIABLES_ADMIN privilege(s) for this operation

이 오류는 RDS가 제공하는 MySQL 서버가, 사용자가 아닌 다른 DEFINER가 지정된 sql 파일을 허용하지 않기 때문에 권한 문제가 발생하는 문제이다.

처음엔 에러 코드 분석도 안 하고 다시 데이터 export후 import를 반복했는데 오류가 해결되지 않아 오류코드를 분석해 보니 쉽게 해결할 수 있는 문제였다.

해결

다른 블로그를 보면 DEFINER를 지워주면 해결된다는데

export한 sql덤프파일을 열어 아래 코드들을 주석처리해 주면된다.

SET @@SESSION.SQL_LOG_BIN= 0;
SET @@GLOBAL.GTID_PURGED=/*!80000 '+'*/ '';
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;

이 코드들은 RDS 에서 허용하지 않는 옵션들이라고 한다.

이 코드들을 주석처리해 준 후 다시 임포트를 실행하면 정상적으로 임포트가 될것이다.

0개의 댓글