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 구문을 넣지 않으면 비밀번호 없는 계정 생성됨.
쿼리예시
모든 권한을 가진 계정 생성
GRANT ALL ON *.* TO admin@localhost IDENTIFIED BY "admin1111";
FLUSH privileges;
특정 데이터베이스에 조회 권한을 가진 계정 생성
GRANT SELECT ON admin.* TO admin@localhost IDENTIFIED BY "admin1111";
FLUSH privileges;
MySQL 계정 삭제
쿼리사용법
DROP USER admin@localhost;
SQL/MYSQL