JUST GO

[구조] 사용자 본문

DBMS/학습내용

[구조] 사용자

root_go 2022. 10. 5. 09:22

사용자

  • 사용자(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`;
--                                                     ↑ 사용자 이름
 

· 부여할 권한은 콤마(,)로 구분하여 여러개 작성 가능하며 각 권한은 일부 키워드(CRATE, 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;

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

  • 사용자 삭제하기(D)

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

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

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

'DBMS > 학습내용' 카테고리의 다른 글

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