SQL/MySQL
[MySQL] 사용자 관리하기
jane.dev
2021. 7. 17. 16:08
반응형
현재의 root 계정은 모든 권한(수정, 삭제, 조회, 변경, 계정생성 등) 을 가짐
데이터베이스의 데이터 보안을 위해서 권한 별로 데이터베이스 계정을 나누어 관리할 필요가 있음
root가 아닌 사용자를 만들어 권한 부여 하는 방법과 권한의 개념에 대해 알아보기
사용자 계정 조회
root 계정으로 로그인
mysql -u root -p
데이터베이스 조회
: 조회하여 나오는 mysql 데이터베이스가 사용자 정보를 담고 있음
SHOW DATABASES;
mysql 로 데이터베이스 변경
USE mysql;
아래 명령문으로 사용자에 대한 정보 조회 가능
SELECT user, host FROM user;
사용자 계정 만들기
CREATE USER 아이디@'%' IDENTIFIED BY '비밀번호';
계정에 대한 권한 부여 및 박탈
권한 부여
GRANT 권한1, 권한2, ... ON 데이터베이스명.테이블명 TO 계정명@'%'WITH GRANT OPTION;
모든 권한을 부여하려면 *
이 아닌 ALL
으로 작성
'%'
: 외부에서의 접근 허용
WITH GRANT OPTION
: 다른 계정에 대한 계정 설정 권한
권한 박탈
: 권한 부여 명령어에서 GRANT
대신 REVOKE
를 작성, REVOKE
는 FROM
과 연동하여 사용
REVOKE 권한1, 권한2, ... ON 데이터베이스명.테이블명 FROM 계정명;