사용자
- DBMS에서 사용자는 DBMS 서버에 접속하녀 일련의 작업을 하기 위한 주체이다.
- 사용자의 구조는 아래와 같다.
[사용자 이름]@[호스트]
- 여기서
호스트
는 해당사용자 이름
을 사용하여 접속할 수 있는 원격 호스트를 제한하기 위해 사용한다. 사용자 이름
이 같다 하더라도호스트
가 다르다면 이는 다른 사용자로 판단되며 이에 권한을 달리하여보다 안전한 데이터베이스 운용이 가능하다.
- 여기서
만들기
- 계정을 만들기 위해서 아래와 같이 명령한다.
CREATE USER [사용자 이름]@[호스트] IDENTIFIED BY '[비밀번호]';
- 여기서 호스트 값은 위에서 설명한 것 처럼 원격 호스트를 제한하기 위해 사용된다. 만약, 원격 호스트를 제한하지 않기 위해서는 퍼센트(%)기호로 갈음한다.
조회하기
- DBMS 상에 존재하는 사용자를 조회하기 위해 아래와 같이 명령한다.
SELECT `user`, `host` FROM `mysql`.`user`;
수정하기
- 사용자의 비밀번호를 수정하기 위해 아래와 같이 명령한다.
ALTER USER `[사용자 이름]`@`[호스트]` IDENTIFIED BY '[새 비밀번호]';
삭제하기
- 사용자를 삭제하기 위해 아래와 같이 사용한다.
DROP USER `[사용자 이름]`@`[호스트]`;
권한
부여하기
- 사용자에게 권항을 부여하기 위해 아래와 같이 명령한다.
GRANT [부여할 권한, .... | ALL] ON `[[스키마].[테이블|*] | *.*]` TO `[사용자 이름]`.`[호스트]` [WITH GRANT OPTION]?;
부여할 권한
을 쉼표(,)로 구분하여 나열하여도 되나, 모든 권한을 언급하기 위해ALL
이라는 키워드를 갈음할 수 있다.스키마
및 소속된테이블
에 대한 권한을 부여하여도 되나, 모든 스키마의 모든 테이블을 의미하기 위해*.*
이라는 표현을 갈음할 수 있다.- 비록 모든 권한(
ALL
)을 부여하겠다 하더라도,GRANT
및REVOKE
등의 권한 관련 권한은 빠져있는데, 어떠한 사용자가GRANT
및REVOKE
를 할 수 있게 하기 위해WITH GRANT OPTION
키워드를 추가한다.(권장) - 예시로,
study@localhost
계정에 대해 모든 스키마의 모든 테이블에 대한 권한을 주기 위해 아래와 같이 명령한다.GRANT ALL ON *.* TO `study`@`localhost`;
철회하기
- 부여된 권한을 철회하기 위해 아래와 같이 정의한다.
REVOKE [철회할 권한, .... | ALL] ON `[[스키마].[테이블| * ]| *.*]` FROM `[상용자 이름]`.`[호스트]`;
- 예로,
study@localhost
사용자로 부터DROP
및DELETE
권한을 철회하기 위해 아래와 같이 명령한다.REVOKE DROP, DELETE ON *.* FROM `study`@`localhost`;
- 예로,
조회하기
- 현재 접속중인 사용자에게 부여되어있는 권한을 나열하기위해 아래와 같이 명령한다.
SHOW GRANTS;
- 다른 사용자에게 부여되어있는 권한을 나열하기 위해 아래와 같이 명령한다.
SHOW GRANTS FOR `[사용자 이름]`@`[호스트]`;
'DBMS' 카테고리의 다른 글
[DBMS] 8. 테이블 및 열 (0) | 2023.03.23 |
---|---|
[DBMS] 7. 스키마 (0) | 2023.03.23 |
[DBMS] 5. 개념 (0) | 2023.03.23 |
[DBMS] 4. MariaDB 설치 (0) | 2023.03.23 |
[DBMS] 3. 데이터베이스(Database) - part 2 (0) | 2023.03.07 |