mysql grant 예제

GRANT 문에 대한 AS 절은 u1에 대해 r1 역할을 활성화합니다. 이 역할은 u1에 대한 몇 가지 제한 사항을 해제합니다. 따라서 부여된 권한에는 몇 가지 제한이 있지만 이전 GRANT 문에 대한 제한은 많지 않습니다. 권한 부여 테이블에 혼합 대/소문자 데이터베이스 또는 테이블 이름이 포함된 권한 행이 있고 lower_case_table_names 시스템 변수가 영하지 않은 값으로 설정된 경우 REVOKE를 사용하여 이러한 권한을 취소할 수 없습니다. 권한 부여 테이블을 직접 조작해야 합니다. GRANT는 lower_case_table_name이 설정될 때 이러한 행을 만들지 않지만 해당 변수를 설정하기 전에 이러한 행이 만들어졌을 수 있습니다. lower_case_table_name 설정은 서버 시작 시에만 구성할 수 있습니다. ON 절은 명령문이 권한 또는 역할을 부여하는지 여부를 구분합니다. 예를 들어 특정 데이터베이스를 통해 사용자 계정의 모든 권한을 취소하려면 다음 명령을 사용합니다. 사용자 문을 만듭니다. 그러나 사용자 문 만들기를 사용하면 새 사용자만 생성되지만 사용자 계정에 는 권한이 부여되지 않습니다. 따라서 사용자 계정에 권한을 부여 하기 위해 GRANT 문이 사용 됩니다.

해지 문은 과거에 사용자에게 부여된 권한의 일부 또는 전부를 취소하는 데 사용됩니다. WITH ADMIN OPTION 절이 포함된 GRANT 문이 있는 역할이 부여된 경우, 해당 역할을 다른 사용자 나 역할에 부여하거나 다른 사용자 또는 역할에서 해지할 수 있습니다. . 여기에는 ADMIN 옵션 자체를 사용하여 사용할 수 있는 기능이 포함됩니다. 특정 권한 수준에서 사용자에게 GRANT OPTION 권한을 부여하면 해당 수준에서 사용자가 소유하거나 나중에 부여할 수 있는 모든 권한도 해당 사용자가 다른 사용자에게 부여할 수 있습니다. 데이터베이스에 INSERT 권한을 사용자에게 부여한다고 가정합니다. 그런 다음 데이터베이스에 SELECT 권한을 부여하고 GRANT 옵션을 사용하여 지정하면 해당 사용자는 SELECT 권한뿐만 아니라 INSERT도 다른 사용자에게 제공할 수 있습니다. 그런 다음 데이터베이스의 사용자에게 UPDATE 권한을 부여하면 사용자는 INSERT, SELECT 및 UPDATE를 부여할 수 있습니다.