so woon!

[구조] 사용자 본문

DBMS/개념정리

[구조] 사용자

xowoony 2022. 9. 29. 17:22

학습일 : 2022. 09. 27


사용자


사용자
사용자(User)는 DBMS에 접속하여 각종 쿼리를 실행할 수 있는 주체를 의미한다.
DBMS 설치 시에 최초로 생성되는 (사용 가능한) 사용자는 `root`이고, `root`계정은 최고 관리자 계정이며, 개발시에 사용하지 않는다.


C : 사용자 만들기
사용자를 만들기 위해 아래 구문을 사용한다.

 --           ↓ 사용자 이름
 CREATE USER `study`@`localhost` IDENTIFIED BY 'test1234';
 --                   ↑ 호스트                   ↑ 비밀번호


사용자의 이름과 호스트는 구성요소 임으로 백틱으로, 비밀번호는 문자열이므로 홑따옴표로 감싼다.
호스트는 해당 사용자 이름을 이용하여 접속할 수 있는 원격 호스트로, 도메인이나 IP주소를 이용하며, 별도로 제한을 두지 않고자 한다면 퍼센트(%)기호로 대체한다.


R : 사용자 확인하기
    - 일단 생략


U : 권한 수정하기
만들어진 사용자는 그 어떠한 권한도 가지고 있지 않으므로 유의한다.
존재하는 사용자에게 권한을 부여하기 위해 아래 구문을 사용한다.

 --    ↓ 부여할 권한        ↓ 스키마 이름  ↓ 테이블 이름             ↓ 호스트
 GRANT ALL PRIVILEGES ON `some_schema`.`some_table` TO `study`@`localhost`;
 --                                                     ↑ 사용자 이름


부여하거나 철회할 권한은 콤마(,)로 구분하여 여러개 작성 가능하며 각 권한은 일부 키워드(`CREATE`, `DROP`, `ALTER`, `INSERT`, `SELECT`, `UPDATE`, `DELETE`, `GRANT`, `REVOKE`, `DESC`, `SHOW` 등)이다. 혹은 모든 권한은 `ALL PRIVILEGES` 혹은 `ALL`이라고 적을 수 있다.

존재하는 사용자로부터 권한을 철회하기 위해 아래 구문을 사용한다.

 --     ↓ 철회할 권한        ↓ 스키마 이름  ↓ 테이블 이름               ↓ 호스트
 REVOKE ALL PRIVILEGES ON `some_schema`.`some_table` FROM `study`@`localhost`;
 --                                                        ↑ 사용자 이름


대상이 되는 스키마와 테이블을 직접 명시하거나 존재하는 모든 스키마의 모든 테이블에 대한 명시는 `*.*`로 대신한다.
변경(추가 및 삭제)된 권한을 즉시 적용하기 위해 아래 구문을 사용한다.

 FLUSH PRIVILEGES;

U : 사용자 비밀번호 수정하기
존재하는 사용자의 비밀번호를 변경하기 위해 아래 구문을 사용한다.

 --          ↓ 사용자 이름
 ALTER USER `study`@`localhost` IDENTIFIED BY 'newPassword';
 --                  ↑ 호스트                   ↑ 새로운 비밀번호

D : 사용자 삭제하기
존재하는 사용자를 삭제하기 위해 아래 구문을 사용한다.

 --         ↓ 사용자 이름
 DROP USER `study`@`localhost`;
 --                 ↑ 호스트


삭제된 사용자는 복구할 수 없으므로 유의한다.


 

'DBMS > 개념정리' 카테고리의 다른 글

[공통] 연산자와 함수  (0) 2022.09.29
[구조] 레코드  (1) 2022.09.29
[구조] 테이블과 열  (0) 2022.09.29
[구조] 스키마  (0) 2022.09.29
[공통] DBMS  (0) 2022.09.27
Comments