2012-11-20 2 views
2

사용자는 함수와 프로 시저 만 실행해야합니다. 보안상의 이유로이 사용자에게 EXECUTE을 부여하고 같은 사용자로부터 다른 권한을 취소합니다.보조 기능을 확인하는 함수 또는 프로 시저

이 사용자에게 저장된 기능에 대한 EXECUTE 권한이 있는지 확인하는 방법은 무엇입니까?

+0

내가 부여를 확인하려면이 링크 http://dev.mysql.com/doc/refman/5.0/en/show-grants.html – Shashi

+0

를 참조하십시오 저장된 함수에서. CREATE FUNCTION'get_max_price'() 반환 값 int (11) 부호 없음 시작 선언 됨 int (11) unsigned; "사용자가 보조금을 실행하기 만하면" 자동차에서 최대 (가격) +1을 선택하십시오. return l; end if; return 0; 끝; 쇼 보조금을 신청할 수 있습니다. 그러나 저장된 함수의 출력을 확인하는 방법은 무엇입니까? –

+0

선언 핸들러를 사용하여 예외를 정의 할 수 있습니다. 사용자가 특정 작업에 대한 권한이 없으면 정의 된 예외 핸들러에서 처리 할 오류가 발생합니다. http://dev.mysql.com/doc/refman/5.0/en/declare-handler.html – Shashi

답변

0
SHOW GRANTS FOR '<user>'@'<host>' 

은 사용자에게 부여됩니다. 사용자의 보조금을 확인할 수 있습니다.

SELECT * FROM mysql.procs_priv WHERE Proc_priv='Execute' AND Routine_type='PROCEDURE' AND Routine_name='<routine_name>' AND User='<user>' Db='<db_name>' AND Host='<host>'; 

DB 및 호스트는 필요하지 않을 수도있다

+0

나는 교부금을 받고 싶지 않습니다. 저장소 기능에서 권한 부여를 확인하고 싶습니다. –

+0

확인. 나는 지금 그것을 체크인한다. 'SELECT * FROM information_schema.schema_privileges'를 수행하는 데 필요한 특권은 무엇입니까? 그것은 단지 '사용법'인가? –

+0

이 답변을 편집했습니다. 나는 당신이 찾고있는 것을 준다고 생각합니다. –