반응형
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 |