반응형

--  USER 생성

-- 서버 설정 
CREATE USER 'username'@'host' IDENTIFIED BY 'password';

-- 특정 플러그인 지정 (과거사용 5.7 이하)
CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';

 

-- 권한

-- 모든 권한 + 모든 DB 접근 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'username'@'host';

-- 특정 DB 전체 권한 
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';

-- 특정 테이블 전체 권한
GRANT ALL PRIVILEGES ON database_name.table_name TO 'username'@'host';

-- 특정 테이블 SELECT 권한
GRANT SELECT ON database_name.table_name TO 'username'@'host';

-- 특정 테이블 SELECT, INSERT 권한
GRANT SELECT, INSERT ON database_name.table_name TO 'username'@'host';

-- 특정 프로시저 실행 권한
GRANT EXECUTE ON PROCEDURE database_name.procedure_name TO 'username'@'host';


-- 특정 유저 권한 확인
SHOW GRANTS FOR 'username'@'host';

-- 특정 권한 취소
REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';
REVOKE SELECT ON mydatabase.mytable FROM 'testuser'@'localhost';


-- 마지막에는 까먹지 말고 꼭!
FLUSH PRIVILEGES;

 

-- 유저 조회

-- USER와 HOST를 조회
SELECT host, user FROM mysql.user;
반응형