Cloud System Engineer

사용자 관리 본문

mysql/MySQL

사용자 관리

클라우드 엔지니어 2021. 1. 28. 01:01

우리가 취업을 하게되면 데이터베이스를 만질일이 있을 것이다. 

 

DB관리자가 아닌 모든 직원권한이 같다면 데이터가 수정되거나 삭제되거나 문제가 발생하는데

 

이를 방지하기 위해 사용자마다 권한을 달리 줘야한다.

 

리눅스에서도 root계정을 제외한 다른계정에 특정 권한을 주듯이 mysql도 똑같이 하면 된다.

 

1.팀장

2.사장님

3.사원 

 

이렇게 계정을 만들어보고 권한을 부여 하겠다.

 

 

사용자 권한 추가/제거

 

 

add acount 를 눌러서 팀장이라는 아이디를 만들었다.

admin~ roles 을 눌러보면 각각 권한을 선택할 수 있다. 

팀장이란 사람은 모든 권한을 주기 위해 DBA를 선택하면 전체 권한을 얻게 된다.

 

사장님이라는 계정을 생성하고

마찬가지로 roles를 눌러서 이번엔 mysql 안에있는 모든 DB를 읽기 권한만 부여 하겠다.

 

 

이번엔 사원이라는 계정을 만들고

roles 가아닌  프리빌리지스를 클릭해준다.

 

 

해당 테이블을 선택할 수 있다.

 

저는 shop_db 테이블 안에있는 상품 테이블과 , 고객 테이블에 대한 읽기,쓰기 권한과 ,저장프로시저 변경하기 권한을 부여했다.

 

결과

 

 

다음은 사원이 employees 라는 테이블에 테이블 읽기만 권한을 준다.

 

 

 

 

아이디를 만들었으면 팀장인 아이디로 접속해준다.

 

 

 

팀장은 DBA 권한을 가지고 있어서 모든권한을 쓸 수 가 있다.

 

 

 

-sampledb 데이터 베이스 생성

 

 

 

-sampledb 데이터 베이스 제거

 

 

 

 

 

사장님  아이디로 접속한다. 

 

권한은 읽기만 허용된다.

 

 

-sampledb 생성

 

데이터 베이스를 생성할려고해도 권한이 없기 때문에 거부가 된다.

 

 

 

 

 

읽기 권한만 가지고 있어서

읽기만 가능하다.

 

 

 

 

shop_db 안에있는 member tbl 테이블을 삭제하려고하지만

읽기권한만 있어서 거부 된다.

 

 

 

사원 아이디로 접속해보자

 

사원의 권한은 

shop_db의 상품 테이블,고객 테이블 읽기,쓰기 권한을 가지고있고

employees 데이터베이스 읽기만 허용된다.

 

 

 

 

 허용된 데이터 베이스만 보여지고

 

 

 

shop_db의 고객 정보를 볼 수 있고

 

 

삭제까지 가능하다.

 

 

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

SQL기본 - WHERE 절  (0) 2021.01.29
select 문  (0) 2021.01.29
데이터 베이스 모델링  (0) 2021.01.25
데이터 베이스 백업  (0) 2021.01.25
데이터 베이스 인덱스  (0) 2021.01.25