Purple Bobblehead Bunny

Database

[MySQL] 사용자 추가, 권한 부여,권한 제거

준영어린이 2022. 4. 3. 15:10

 

db를 사용하면 사용자를 생성하고 각 사용자에 맞게 권한을 부여하는 것이 중요하다.

권한은 스키마,테이블에 대한 권한 부터 여러 기능에 대한 권한까지 다양하게 부여할 수 있다.

 

mysql -u root -p

use mysql;

mysql 서버에 로그인 후, mysql 스키마를 선택한다.

select from 문을 이용하여 그 결과 사용자의 목록을 조회할 수 있다.

 

 

create user username@ip identified by 'password'; 를 통해 host에 사용자를 추가한다.

 

 

username과 password에 원하는 계정의 정보를 넣어준다.

ip는 특정 ip에서의 접속을 허용하는데 사용한다.

로컬에서 접근하기 위한 계정은 localhost를 사용하고, 외부에서 접근하는 것은 그에 맞는 ip 주소를 입력하면 된다.

이 때 "%" 를 통해 모든 외부 접근을 허용할 수 있다.

 

 

사용자를 제거 할 땐 두 가지 방법이 있다.

drop user username;

        delete from user where user=username;

두번 째 delete 명령어는 해당 테이블의 칼럼을 직접 지우는 방법이다.

 

grant 권한 privileges on 스키마.테이블 to username@ip;

만든 사용자에 권한을 부여 할 수 있다.

 

librarydb의 모든 테이블의 select, insert 권한을 user30에게 부여

librarydb의 모든 테이블의 select, insert, update 권한을 user40에게 부여

librarydb의 모든 테이블의 select 권한을 user50에게 부여

로컬에서 접근을 하는 user60 계정을 만들고

librarydb의 모든 테이블의 모든 권한을 user60에게 부여를 했다.

 

show grants for username@ip;

username에게 부여한 권한을 확인 할 수 있다.

revoke 권한 privileges on 스키마.테이블 from username@ip;

권한을 부여하는데 grant to를 사용했다면, 권한을 제거하기 위해선 revoke from을 사용한다.

 

 

 

user40의 권한을 제거 한 후, 

다시 권한을 확인 한 결과다.

 

"항상 오타 조심..."

'Database' 카테고리의 다른 글

[OracleDB] 기본 CRUD  (0) 2022.05.13
[MySQL] WorkBench ERD Diagram  (0) 2022.04.12
[MySQL] CMD(명령 프롬프트)  (0) 2022.04.02
[MySQL] 데이터베이스 생성, 연결  (0) 2022.03.15
데이터베이스 이해하기  (0) 2022.03.11