본문 바로가기
Dev/DataBase

[MariaDB] log_bin_trust_function_creators, ERROR 1418 (HY000)

by nakanara 2020. 10. 27.
반응형

MariaDB에 데이터 덤프 파일 넣는 도중 발생.

(MaraiDB 10.3.x 버전)

ERROR 1418 (HY000) at line 17702: 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)

원인

log_bin_trust_function_creators 변수는 바이너리 로깅이 활성화 된 경우 적용.

기본값 0(OFF)로 설정된 경우 사용자는 함수를 수정 및 생성하지 못하며, SUPER 권한이 있는 사용자만 함수를 생성 및 변경할 수 있다.

또한 0으로 설정시 DETERMINISTIC 특성을 READS SQL DATA 나 NO SQL 특성으로 선언해야 하는 제약이 따른다.

1(ON)로 설정한 경우 함수 생성에 제약을 받지 않는다.

확인 방법

show global variables like 'log_bin_trust_function_creators';

처리 방안

  • 설정 값 변경
SET GLOBAL log_bin_trust_function_creators = 1;
  • my.cnf을 통한 변경
    (/etc/mysql/my.cnf)
[mysqld]
log_bin_trust_function_creators=1
  • args로 변경 방법
--log-bin-trust-function-creators=1
  • 참고로 Function 및 Procedure Select 권한
GRANT SELECT ON mysql.proc TO user @'%';
FLUSH privileges;

참고

반응형

'Dev > DataBase' 카테고리의 다른 글

[ORACLE] 컬럼 정보 조회  (0) 2020.11.05
[MariaDB] JDBC를 통한 failover  (0) 2020.10.29
[MariaDB] MariaDB/MySQL 오류 UNION ALL 오류  (0) 2020.10.20
[MariaDB] 이중화 설정  (0) 2020.10.16
[MariaDB] Function 정의자 수정  (0) 2020.08.25