계정 생성 시 아이디, 사용자 IP 확인
8.0부터 역할(Role) 부여 가능
3.1 사용자 식별
- 계정 뿐 만 아니라 호스트명 or 도메인 or IP주소도 계정의 일부이다. (다른 IP에서 접근 불가)
- ``` or
‘
로 식별자를 감싸서 구분함
'UserId'@'127.0.0.1' -> '계정 명'@'IP' (다른 IP 접근 불가)
'UserId'@'%' -> 다른 IP 접근 가능
로그인 IP |
로그인 가능 계정 |
범위 |
127.0.0.1 |
‘UserId’@’127.0.0.1’ |
좁음(해당 IP만 로그인 가능) |
125.0.0.5 |
'UserId'@'%' |
넓음(어떤 IP든 로그인 가능 |
3.2 사용자 계정 관리
3.2.1 시스템 계정과 일반 계정
- 계정의 권한을 구분하기 위해 시스템 계정과 일반 계정으로 나눔
SYSTEM_USER 권한 |
계정 |
사용자 |
권한 |
O |
시스템 계정 |
데이터베이스 서버 관리자 |
- 시스템 계정과 일반 계정 관리 |
- 세션 강제 종료
- 스토어드 프로그램 생성 시 DEFINER를 타 사용자로 설정 |
| X | 일반 계정 | 응용 프로그램 or 개발자 | X |
기본 계정 list (삭제 금지!)
- ‘root’@’localhost’
- ‘mysql.sys’@’localhost’
- 8.0부터 기본으로 내장된 sys 스키마 객체들의 DEFINER로 사용
- ‘mysql.session’@’localhost’
- ‘mysql.infoschema’@’localhost’
- information_schema에 정의된 뷰의 DEFINER로 사용
3.2.2 계정 생성
- 계정 생성 - CREATE USER
- 권한 부여 - GRANT