이 질문 몇 테이블 : 나는 새 사용자에게 거의 모든 권한을 부여하지만, 여전히 하나 개 이상의 테이블을 유지할 수있는 방법
/데이터베이스 그들로부터 보호.그랜트 [거의] 모든 MySQL의 권한/
세부 사항 :
나는 하나의 데이터베이스,
life
passwords
- 이있는 경우 내가 예를 들어, 다음과 같은 권한이 사용자를 제공하려면 어떻게
hobbies
:
- INSERT
- UPDATE
- 가 생성, 삭제
- DROP
- ALTER 처음 세에 관하여
, 정말 같은 것을 시작하는 것입니다 :
GRANT INSERT, UPDATE, DELETE ON life.friends TO [email protected]'localhost' IDENTIFIED BY 'password';
GRANT INSERT, UPDATE, DELETE ON life.hobbies TO [email protected]'localhost' IDENTIFIED BY 'password';
하지만 CREATE
및 DROP
를 사용하는 방법에 대한 혼란 스러워요. 내가 지금처럼 전체 데이터베이스에 대한 권한을 드롭 부여하는 경우 :
GRANT DROP ON life TO [email protected]'localhost' IDENTIFIED BY 'password';
그런 다음 사용자는 내가 원하지 않는의 passwords
테이블을 놓을 수 있습니다. GRANT DROP ON life.friends TO [email protected]'localhost' IDENTIFIED BY 'password';
GRANT DROP ON life.hobbies TO [email protected]'localhost' IDENTIFIED BY 'password';
을하지만 CREATE
권한과 같이 부여 할 경우 다음 무슨 일이 : 나는 대신은과 같이 테이블을 기반으로 부여 할 수있는 사용자도 매우 테이블을 삭제할 수 없다는 뜻
GRANT CREATE ON life TO [email protected]'localhost' IDENTIFIED BY 'password';
그/그녀가 만듭니다? 내 질문은 또한 데이터베이스 생성/삭제와 관련이 있습니다. 사용자가 자신의 데이터베이스를 만들고 삭제할 수 있지만 이 아닌 경우life
데이터베이스를 만들도록 허용하려면 어떻게해야합니까?
대신 passwords
테이블을 다른 데이터베이스로 이동하여 접근 방식을 변경해야합니까?
고맙습니다.
별도의 데이터베이스가 있습니다. MySQL 권한은 제한되어 있습니다. 그들은'deny' 권한을 허용하지 않습니다. –
@TheScrumMeister 만약 당신이 대답 – puk
을 게시하면 답변으로 받아 들일 것입니다. MySql 사용 권한을 처리 한 사람으로서 이것은 내가 (여러) 제한 사항 중 하나입니다. –