2011-11-28 3 views
-1

사용자가 특정 테이블 및 뷰에서 SELECT 할 수 있도록하고 특정 절차를 실행하고 싶습니다. 그러한 스크립트를 작성했습니다 :MySQL에서 사용자에게 특정 권한을 부여하는 방법은 무엇입니까?

CREATE USER 'user'@'%' IDENTIFIED BY 'user'; 
GRANT SELECT ON 
database.table1, 
database.view1, 
database.view2 
'user'@'%' IDENTIFIED BY 'user' 
WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; 
GRANT EXECUTE ON PROCEDURE 
database.procedure1, 
database.procedure2 
'user'@'%' IDENTIFIED BY 'user' 
WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; 

그러나 작동하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+1

음, 거기에 'TO'가 누락 된 것 같습니다. "작동하지 않는다"에 대해 더 구체적으로 설명하십시오. 오류 메시지 등이 나옵니까? – derobert

+0

TO가 누락되었습니다. 내 실수 :> – sunpietro

답변

3

은 (난 당신이 사용자를 만든 후 부분으로 식별이 필요 믿지 않는)

Grant Select On database.table1 To 'user'@'%' 

을보십시오. Grant Doc.

올바른 구문이어야합니다. 이 구문이 작동하는지 확인하면 하나의 명령문에 여러 테이블/뷰를 추가 할 수 있습니다.

관련 문제