증상
mariadb 에서 create function을 했는데,
다음과 같은 에러가 발생했습니다.
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)
원인
- SUPER 권한 부족
MariaDB에서 SUPER 권한은 사용자에게 데이터베이스 관리, 서버 설정 변경, 다른 사용자 계정 관리 등 광범위한 권한을 부여합니다. 만약 사용자에게 SUPER 권한이 부여되지 않았다면, binary logging이 활성화된 상태에서 특정 작업을 수행할 때 해당 에러가 발생할 수 있습니다.
해결
- 계정에 SUPER 권한 부여 후, 적용합니다.
다음 커맨드를 입력합니다.
GRANT SUPER ON *.* TO '{해당 유저}'@'%';
FLUSH PRIVILEGES;
- log_bin_trust_function_creators 설정을 변경합니다.
- 설정 확인
다음 명령어를 사용하여 현재 log_bin_trust_function_creators 설정 값을 확인할 수 있습니다.
SHOW GLOBAL VARIABLES LIKE 'log_bin_trust_function_creators'; - 설정 변경
다음 명령어를 사용하여 log_bin_trust_function_creators 설정 값을 1로 변경할 수 있습니다.
SET GLOBAL log_bin_trust_function_creators = 1;
- 설정 확인
주의사항
- SUPER 권한 부여 시 주의
SUPER 권한은 매우 강력한 권한이기 때문에, 신뢰할 수 있는 사용자에게만 부여해야 합니다. 부주의하게 SUPER 권한을 부여하면 데이터 손상, 보안 취약점 발생 등 심각한 문제가 발생할 수 있습니다. - log_bin_trust_function_creators 설정 변경 시 주의
log_bin_trust_function_creators 설정 값을 1로 변경하면, 악의적인 사용자에 의한 함수 사용으로 보안 위험도 증가할 수 있습니다. 따라서, 이 설정을 변경하기 전에 충분히 검토하고, 필요에 따라 다른 해결 방법을 고려하는 것이 좋습니다.
'DB,SQL' 카테고리의 다른 글
[SQL] 03. 테이블에서 데이터 검색하기 (0) | 2023.07.01 |
---|---|
[SQL] 02. 테이블의 구조 - DESC (0) | 2023.07.01 |
[SQL] 01. SQL 기초 (0) | 2023.07.01 |
[DB] Index란? (0) | 2020.02.24 |
Connection pool (0) | 2020.02.17 |