DB TUNE

MySQL stored procedure permission control

Remoted remoted 2018. 5. 5. 00:36

웹호스팅을 운영하면서 일반 사용자도 함수 및 프로시저 권한을 달라는 요청을 받았습니다

당연히 기본으로 권한이 포함되어 있는지 알았더니 이부분은 따로 설정을 해줘야 생성이 가능합니다

일반적인 웹호스팅 사용자  대부분이 프로시저나 함수등을 등록해서 사용하는 분들이 없기 때문에  모르고 있던 내용이기도 하다

 

1. 프로시저 및 함수 생성 권한 확인
SHOW VARIABLES LIKE '%log_bin_trust_function_creators%'; 
스크린샷, 2015-01-27 15:08:05

mysql 디폴트 값은 OFF 상태 입니다


2. 프로시저 및 함수 생성 권한 주기
SET GLOBAL log_bin_trust_function_creators = 1;
스크린샷, 2015-01-27 15:08:53
위와 같이 쿼리를 실행하면 Value 값이 ON 으로 변경이 됩니다


3. 생성된 함수나 프로시저를 확인하는 쿼리 입니다
SELECT * FROM information_schema.ROUTINES;



이제 일반 사용자들도 함수 및 프로시저를 생성 할 수가 있습니다


service mysqld restart 하면 당연히 global set 도 돌아오게 되는데 이제 permanent 하게 추가를 하려면 아래와 같이한다.


#vi /etc/my.cnf

[mysqld]

log-bin-trust-function-creators=1