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

+ Recent posts