*현재 제가 참여한 프로젝트에서 사용하고 있는 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 [권한 철회 대상 유저]
- 권한 부여와 마찬가지다
'데이터 > 데이터베이스' 카테고리의 다른 글
[Database] DB Lock의 종류와 DeadLock (0) | 2024.08.19 |
---|---|
[Database] Index(인덱스)와 최적화 (0) | 2024.08.02 |
[Database] DB Session & Connection (0) | 2024.07.24 |
[Database] Transaction과 ACID (0) | 2024.07.05 |
[Database] 스토리지 엔진 InnoDB VS MyISAM (0) | 2024.07.04 |