이전 글에서 사용자를 처음 생성 시 권한이 없다.
특정 데이터베이스에 대해서 특정 user에게 사용 권한이 부여 가능하다.
실습환경 만들기에 앞서 2가지 필요 조건은 다음과 같다.
1) 데이터베이스
2) 해당 데이트베이스에 사용 권한을 부여할 user
권한 관리를 실습하기 위한 Database (testdb) 생성하기
create database testdb;
#생성된 testdb 데이터베이스 확인
show databases;
*사용자 정보는 'mysql' 데이터베이스에서 관리하기에 user 관리를 할 시 mysql로 이동(USE)이 필요하다.
use mysql;
create user 'username'@'localhost' identified by 'password';
select host, user from user;
SHOW GRANTS FOR 'username'@'localhost'; #username이라는 사용자에게 부여된 모든 권한을 보여주기
![]()
GRANT USAGE ON *.* TO 'username'@'localhost'
은 기본으로 주어져있는 권한
GRANT ALL ON dbname.* TO 'username'@'localhost';
Example: 사용자(yeji)에게 특정 데이터베이스 (testdb) 권한 부여하기
grant all on testdb.* to 'yeji'@'localhost';
#user의 권한 부여 확인
show grants for 'yeji'@'localhost';
참고 - 권한을 성공적으로 부여했을 시 보이는 query:
GRANT ALL PRIVILEGES ON 'dbname'.* TO 'username'@'localhost'
사용자에게 특정 데이터베이스의 모든 권한 삭제하기
REVOKE ALL ON dbname.* FROM 'username'@'localhost';
Example:
revoke all on testdb.* from 'yeji'@'localhost';
#user의 권한 삭제 확인
show grants for 'yeji'@'localhost';
참고 - 수정 내용이 적용 되지 않은 경우 새로고침
flush privileges;
![]()
'username'@'localhost'의 권한이 삭제되고 기본 권한인 GRANT USAGE ON *.* TO 'username'@'localhost'
만 남아 있는거를 확인할 수 있다.