개발/DATABASE

[MySQL] 사용자 생성/DB생성/권한부여

독코더 2022. 12. 24. 19:30
반응형

사용자 조회

MySQL의 사용자 목록을 조회하기 위해 MySQL의 기본 스키마인 mysql안에 user테이블에서 아래와 같은 명령어를 통해 조회할 수 있습니다.

# mysql 스키마 선택
use mysql;

# 사용자 목록 조회
select user, host from user;

 

사용자 생성

사용자 생성시에는 create명령어를 사용해서 아래와 같은 예시대로 생성할 수 있습니다. 

create user '사용자'@'host' identified by '비밀번호';

# ex1) 내부 접근을 허용하는 사용자 추가
create user 'test'@'localhost' identified by '0000';

# ex2) 외부 접근을 허용하는 사용자 추가
create user 'test'@'%' identified by '0000';

# ex3) 특정 ip만 접근을 허용하는 사용자 추가
create user 'test'@'123.456.789.100' identified by '0000';

# ex4) 특정 ip 대역을 허용하는 사용자 추가
create user 'test'@'192.168.%' identified by '0000';

 

사용자 제거

아래 drop 혹은 delete명령어를 통해 사용자를 삭제할 수 있습니다.

drop user '사용자';
delete from user where user='사용자';

# example
drop user 'test'@'localhost';

 

계정이 생성되었다면, 그 계정이 접근할 수 있는 데이터베이스를 생성하고 권한을 부여해줍니다.

 

데이터베이스 생성

# DB 목록 확인
show databases;

# 데이터베이스 생성
create database DB명;

# 둘중에 하나를 입력하면 DB 생성됨
create schema DB명 default character set utf8;
create database DB명 default character set utf8;
# default character set을 지정하지 않으면 한글이 깨져서 나오므로 주의

 

데이터베이스 제거

# 데이터베이스 삭제
drop database DB명;

 

사용자 권한 부여

사용자에게 권한을 줄 때는 grant명령어를 사용해서 아래와 같은 예시대로 권한을 부여할 수 있습니다.

# 모든 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on *.* to '사용자'@'localhost';

# 특정 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on DB이름.* to '사용자'@'localhost';

# 특정 데이터베이스의 특정 테이블에 모든 권한을 줌
grant all privileges on DB이름.테이블명 to '사용자'@'localhost';

# 특정 데이터베이스의 특정 테이블에 select 권한을 줌
grant select on DB이름.테이블명 to '사용자'@'localhost';

# 특정 데이터베이스의 특정 테이블에 select, insert 권한을 줌
grant select, insert on DB이름.테이블명 to '사용자'@'localhost';

# 특정 데이터베이스의 특정 테이블의 컬럼1과 컬럼2의 update 권한을 줌
grant update(컬럼1, 컬럼2) on DB이름.테이블명 to '사용자'@'localhost';ㅁㅁㅁㅁ

 

사용자 생성과 권한 부여 한번에 하기

아래 명령어를 사용하면 사용자 생성과 권한 부여를 동시에 할 수 있습니다.

grant all privileges on *.* to '사용자'@'localhost' identified by '비밀번호';

# example
grant all privileges on *.* to 'test'@'localhost' identified by '0000';

 

권한 반영

변경한 권한을 즉시 반영시켜주려면 아래 명령어를 실행시켜주면 됩니다.

FLUSH PRIVILEGES;

 

반응형