1. 계정 생성
CREATE USER ' ----- '@' host ' IDENTIFIED BY 'password';
host에게 password로 접근할 수 있는 계정을 생성해주는 것이다.
% 은 '모든 값'을 의미한다.
2. 계정 생성 확인
SELECT HOST, USER FROM MYSQL.USER;
STUDENT를 포함한 이름을 가진 유저를 호출한다는 의미이고, 위와 같이 세 개의 계정이 생성 되어있음을 알 수 있다.
3. 권한 부여
GRANT ALL ON database.* TO ' ----- '@' host ';
해당 계정에게 어떤 데이터베이스의 특정 클래스에 대한 권한을 부여하는 것이다.
GRANT ALL 은 "모든" 권한을 부여한다는 의미이고, university.* 은 university 데이터베이스의 모든 테이블에 권한을 부여한다는 의미이다.
GRANT SELECT는 SELECT 함수만 실행할 수 있도록 권한을 부여한다는 의미이고, university.addresses는 university데이터베이스의 addresses 컬럼에만 접근할 수 있도록 권한을 부여한다는 의미이다.
4. 권한 확인
SHOW GRANTS FOR ' ----- '@' host ';
계정에 부여된 권한을 확인하는 코드이다.
5. 권한 취소
REVOKE functions ON class.table FROM ' ----- '@' host ';
해당 계정에 부여되었던 권한을 취소하는 코드이다. 모든 권한을 취소할 수도 있고, 일부 함수에 대한 권한만 취소할 수도 있다.
그런데 이 부분은 계속 오류가 떠서 더 알아보고 시도해봐야겠다.
6. 계정 삭제
DROP USER ' ----- '@' host ';
'STUDENT'@'localhost' 계정이 삭제되었음을 알 수 있다.
'Database > SQL' 카테고리의 다른 글
[Lecture] 1. 데이터베이스 시스템 (0) | 2022.03.21 |
---|---|
[MySQL] SQL 옵티마이저 (0) | 2021.01.18 |
[MySQL] Titanic 예제 (0) | 2021.01.11 |
[MySQL] University DB 예제 (0) | 2021.01.10 |
[MySQL] MySQL 설치하기 (0) | 2021.01.10 |