DBMS/MySQL

데이터베이스 사용자 관리 (DCL문)

Bambi97 2024. 10. 10. 17:30

1. 사용자 추가 및 확인

# 문법 형식
create user '사용자명'@'서버IP' identified by '비밀번호';

# localhost에서만 접근할 계정
create user '사용자명'@'localhost' identified by '비밀번호';

# 모든 IP에서 접속을 허용할 계정
create user '사용자명'@'%' identified by '비밀번호';

 

sql 확장자 스크립트에서 사용하는게 아니라 MySQL Command Line Client에서 수행

사용자 추가 명령어

# 생성된 계정 확인하기
use mysql;
select user, host from user;

mysql 데이터베이스를 선택 후 user 테이블에서 추가된 계정 조회

 

2. 권한 설정하기

사용자 권한 할당 상세 옵션
    create, drop, alter: 테이블에 대한 생성, 삭제, 변경 권한
    select, insert, update, delete: 테이블의 데이터 조회, 삽입, 변경, 삭제에 대한 권한
    all: 모든 권한
    usage: 권한을 부여하지 않고 계정만 생성

    grant 권한 on 데이터베이스명.테이블명 to '사용자'@'localhost';
    grant all on *.* to 'apple'@'localhost'; # 현재 pc에서만 접근
    grant all on *.* to 'apple'@'%'; # 모든 ip에서 접근이 가능
    flush privileges; # 변경사항이 즉시 적용됨

localhost로 접속 가능한 asg5450 사용자에게 모든 권한을 부여함

*참고로 계정 생성시 허용IP를 'localhost'로 했다면 권한부여도 'localhost'밖에 할 수 없다.

 

3. 권한 조회하기

- 사용자 권한 조회하기
    show grants for '계정명'@'localhost';

 

4. 권한 삭제하기

사용자 권한 제거하기
    revoke 권한명 privileges on *.* from '계정명'@'localhost';

권한을 삭제하여 권한 조회가 안되는 모습

 

'DBMS > MySQL' 카테고리의 다른 글

UNION과 VIEW  (0) 2024.10.10
MySQL 문자열 다루기  (0) 2024.10.10
정규화된 테이블 간의 연결 (feat. join)  (0) 2024.10.10
테이블 설계 (feat. 정규화)  (0) 2024.10.10
테이블에 데이터 CRUD (DML문)  (2) 2024.10.08