반응형
기존 5버전대 mysql을 쓰다가 해당 구조만 가져올 일이 있어서 그대로 백업한 .sql파일을 복원 하는 과정에서 아래와같은 에러가 발생하였다.
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
함수 생성시 옵션 에러라고 하는데 버전이 올라가면서 기본값이 변경된 것 같다.
발생하는 에러로그를 토대로 검색해보니 함수 생성시 생성 제약처리를 할 수 있었고, 생성할 수 있는 부분이 OFF처리 되어있는걸 볼 수 있었다.
log_bin_trust_function_creators 옵션 확인하기
show global variables like 'log_bin_trust_function_creators';
해결방법
설치한 Mysql은 8버전대였고 아래의 쿼리를 실행 후 동일한 .sql파일 실행시 정상적으로 동작하였다.
SET GLOBAL log_bin_trust_function_creators = 1; //ON
#SET GLOBAL log_bin_trust_function_creators = 0; //OFF
1은 ON처리로 함수 생성을 시킬수 있다.
0은 OFF처리로 정상적으로 처리 후 다시 원복시 사용하거나 다른 사용자가 함수를 추가하지 못하도록 막을 수 있을것이다.
반응형
'Databases > Mysql' 카테고리의 다른 글
MariaDB - CentOS 설치 후 한글 깨짐 ??? 인코딩 변환 (0) | 2020.08.21 |
---|---|
SQL 오류 (1558): Column count of mysql.proc is wrong. Expected 21, found 20. Created with MariaDB 100212, now running 100414. Please use mysql_upgrade to fix this error (0) | 2020.08.21 |
Mysql - 여러개의 컬럼을 유니크하게 관리하기(다중 컬럼, UNIQUE) (0) | 2020.06.08 |
Mysql - 특정구분자 문자열을 split하고 검색하기 (0) | 2020.05.15 |
Mysql - 다중행을 단일행으로 출력하기(group_concat) (0) | 2020.04.21 |