SQL 기초2 - 06~07 - User 권한 관리

HA_·2023년 11월 22일
0

실습환경 만들기 1 - Database 만들기

권한 관리를 실습하기 위한 Database (testdb) 생성

CREATE DATABASE testdb;

실습환경 만들기 2 - User 만들기

권한 관리를 실습하기 위한 사용자(id: zerobase@localhost, password: 1234) 생성

- cf) 사용자 정보는 mysql이라는 데이터베이스에서 관리하고 있기 때문에 먼저 mysql로 이동을 해서 user 관리를 해야 한다!

use mysql;
  • 그 다음, 사용자 생성
CREATE USER 'zerobase'@'localhost' identified by '1234';

1. User 권한 확인

사용자에게 부여된 모든 권한 목록을 확인

SHOW GRANTS FOR 'username'@'localhost';

User 권한 확인 예제

현재 PC 에 접근가능한 zerobase의 권한 확인

SHOW GRANTS FOR 'zerobase'@'localhost';


기본적으로 주어져 있는 권한이 있다.

2. User 권한 부여

사용자에게 특정 데이터베이스의 모든 권한을 부여

GRANT ALL ON dbname.* to 'username'@'localhost';

User 권한 부여 예제

현재 PC 에 접근가능한 zerobase에게 testdb에 모든 권한을 부여

GRANT ALL ON testdb.* to 'zerobase'@'localhost';


3. User 권한 제거

사용자에게 특정 데이터베이스의 모든 권한을 삭제

REVOKE ALL ON dbname.* from 'username'@'localhost';

User 권한 삭제 예제

현재 PC 에 접근가능한 zerobase에게 testdb에 모든 권한을 삭제

GRANT ALL ON testdb.* from 'zerobase'@'localhost';

- cf) 참고!

수정내용이 적용되지 않은 경우 새로고침

FLUSH PRIVILEGES

혼자섷 해봅시다.

문제 1. mydb의 모든 권한을 zero에게 부여하고 확인하세요.

1. 'mydb' 라는 데이터베이스 생성

create database mydb;

2. 'zero'라는 사용자 생성

create user 'zero'@'localhost' identified by '5678';

3. 사용자 확인

select host, user from user;

4. 사용자에게 부여된 권한 확인

show grants for 'zero'@'localhost';


방금 실행했던 사용자에게 부여된 권한을 확인하는 쿼리문

문제 1) mydb의 모든 권한을 zero에게 부여하고 확인하세요.

grant all on mydb.* to 'zero'@'localhost';
show grants for 'zero'@'localhost';

문제 2) zero에게 부여한 mydb에 대한 권한을 삭제하고 확인하세요.

revoke all on mydb.* from 'zero'@'localhost';
show grants for 'zero'@'localhost';

0개의 댓글