권한 관리를 실습하기 위한 Database (testdb) 생성
CREATE DATABASE testdb;
권한 관리를 실습하기 위한 사용자(id: zerobase@localhost, password: 1234) 생성
use mysql;
CREATE USER 'zerobase'@'localhost' identified by '1234';
사용자에게 부여된 모든 권한 목록을 확인
SHOW GRANTS FOR 'username'@'localhost';
현재 PC 에 접근가능한 zerobase의 권한 확인
SHOW GRANTS FOR 'zerobase'@'localhost';
기본적으로 주어져 있는 권한이 있다.
사용자에게 특정 데이터베이스의 모든 권한을 부여
GRANT ALL ON dbname.* to 'username'@'localhost';
현재 PC 에 접근가능한 zerobase에게 testdb에 모든 권한을 부여
GRANT ALL ON testdb.* to 'zerobase'@'localhost';
사용자에게 특정 데이터베이스의 모든 권한을 삭제
REVOKE ALL ON dbname.* from 'username'@'localhost';
현재 PC 에 접근가능한 zerobase에게 testdb에 모든 권한을 삭제
GRANT ALL ON testdb.* from 'zerobase'@'localhost';
수정내용이 적용되지 않은 경우 새로고침
FLUSH PRIVILEGES
create database mydb;
create user 'zero'@'localhost' identified by '5678';
select host, user from user;
show grants for 'zero'@'localhost';
방금 실행했던 사용자에게 부여된 권한을 확인하는 쿼리문
grant all on mydb.* to 'zero'@'localhost';
show grants for 'zero'@'localhost';
revoke all on mydb.* from 'zero'@'localhost';
show grants for 'zero'@'localhost';