데이터베이스/MySQL
[MySQL] 계정 생성 및 권한 관리 (GRANT)
떨어지는 용
2017. 12. 27. 10:49
▶MySQL 계정 생성 및 권한 관리 (GRANT)
▶설명
새로운 계정을 생성하고 권한을 부여하는 GRANT 쿼리에 사용법입니다.
GRANT 권한종류 ON 대상 TO 계정명 IDENTIFIED BY 암호 [WITH GRANT OPTION];
계정을 생성 후에는 변경된 내용을 적용하기 위해 아래의 쿼리를 실행해야 합니다.
FLUSH privileges;
▶ 쿼리(Query) 설명
권한 종류
권한 |
내용 |
|
CREATE, ALTER, DROP |
테이블 생성, 변경, 삭제 |
일반 사용자, 관리자 |
SELECT, INSERT, UPDATE, DELETE |
테이블의 레코드 조회, 입력, 수정, 삭제 |
|
RELOAD |
권한 부여된 내용을 리로드 |
관리자 |
SHUTDOWN |
서버 종료 작업 실행 |
|
ALL |
모든 권한 허용 |
관리자와 동급 |
USAGE |
권한 없이 계정만 생성 |
|
대상
- *.* : 서버의 모든 데이터베이스, 테이블에 대한 접근을 허용합니다.
- 데이터베이스명.* : 특정 데이터베이스의 모든 내용에 대한 접근을 허용합니다.
- 데이터베이스명.테이블명 : 특정 데이터베이스의 특정 테이블에 대한 접근을 허용합니다.
계정명
MySQL 서버에 접속시 지정하는 이름입니다. (계정명과 호스트로 구성)
암호
-IDENTIFIED BY 구문을 넣지 않으면 비밀번호 없는 계정을 생성합니다.
▶예제 쿼리 (Example Query)
모든 권한을 가진 계정 생성
GRANT ALL ON *.* TO test@localhost IDENTIFIED BY "test1234"; FLUSH privileges;
특정 데이터베이스에 조회 권한을 가진 계정 생성
GRANT SELECT ON test.* TO test@localhost IDENTIFIED BY "test1234"; FLUSH privileges;