개발 블로그

[Database] MySQL User 생성 본문

데이터/데이터베이스

[Database] MySQL User 생성

갹둥 2024. 7. 24. 18:02

*현재 제가 참여한 프로젝트에서 사용하고 있는 MySQL 기준으로 정리했습니다

User 생성

  • Root(관리자)에게는 User 생성 권한이 있음
  • create user_priv = ‘Y’인 유저는 유저를 생성할 수 있음
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
CREATE USER 'newuser2'@'%' IDENTIFIED BY 'password';
  • newuser: 유저 이름
  • localhost: 유저가 접속할 수 있는 호스트(host)
    • 특정 ip나 %를 이용하여 접근할 수 있는 호스트를 제한 가능
    • %는 모든 호스트를 의미함
  • password: user 비밀번호

 

User 삭제

DROP USER 'newuser'@'localhost';
  • DROP USER [유저 이름]으로 삭제할 수 있음

 

User 권한 부여

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES; // FLUSH PRIVILEGES 명령은 권한 테이블을 다시 로드하여 변경 사항을 즉시 적용하도록 합니다.
  • GRANT [권한]
    • ALL PRIVILEGES: 모든 권한 부여
    • SELECT/INSERT/UPDATE/DELETE 등의 특정 권한만 부여 가능
  • ON [권한 범위]
    • database_name.*: 특정 데이터베이스의 모든 테이블에 대해 권한 부여
    • 특정 데이터베이스의 특정 테이블에 대해 권한 부여 가능
  • TO [권한 수여자]
    • 'username'@'localhost': 권한을 부여할 유저를 지정

 

User 권한 철회

REVOKE ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
  • REVOKE [권한] ON [권한 범위] TO [권한 철회 대상 유저]
    • 권한 부여와 마찬가지다