1. 사용자 조회
use mysql;
mysql> select user, host from user;
2. 사용자 계정 생성
CREATE USER ‘사용자ID’@’host’ IDENTIFIED BY '패스워드'; |
-- 아이디 'tester', 비밀번호 'test1234' 사용자 계정 생성
mysql> create user 'tester'@'localhost' identified by 'test1234';
3. 사용자 계정 정보 확인
SHOW GRANTS FOR '사용자ID'@'host'; |
-- 'tester' 사용자 계정의 권한 조회
SHOW GRANTS FOR tester@localhost;
4. 새로운 사용자 로그인
mysql -u [사용자ID] -p[비밀번호]; |
mysql -u tester -ptest1234;
5. 사용자 계정 삭제
DROP USER '사용자ID'@'host'; |
-- 'tester' 사용자 계정 삭제
DROP USER tester@localhost;
6. GARNT - 사용자에게 권한 부여
GRANT 사용자등급 ON 테이블명 TO 사용자ID [IDENTIFIED BY 비밀번호]; GRANT 권한리스트 ON 테이블명 TO 사용자ID [WITH GRANT OPTION]; |
▶ 사용자 등급
사용자 등급 | 내용 |
CONNECT | DBMS에 접속하기 위한 권한 부여 |
RESOURCE | 사용자(tester)가 객체(생성, 수정, 삭제), 데이터(입력, 수정, 조회, 삭제) 권한 부여 |
DBA | ALL (시스템 관리에 앞서 필요한 모든 권한 부여) |
▶ 권한 종류 : ALL, SELECT, INSERT, DELETE, UPDATE, ALTER 등
- 이외에도 많은 시스템 권한을 줄 수 있다 > 더 많은 시스템 권한 보러 가기
▶ WITH GRANT OPTION : 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여한다.
-- 'tester' 사용자 계정에게 모든 테이블에 대한 모든 권한을 부여한다.
mysql> GRANT ALL ON *.* To tester;
-- 'tester' 사용자 계정에게 'notice' 테이블에 대한 모든 권한을 부여하고, 다른 사람에게 권한을 부여할 수 있는 권한까지 부여한다.
mysql> GRANT ALL ON notice TO tester WITH GRANT OPTION;
-- test 데이터베이스의 모든 테이블에 대해 데이터 조회와 갱신만 가능하다.
mysql> GRANT SELECT, UPDATE ON test.* TO tester;
7. REVOKE - 사용자 권한 취소
REVOKE 사용자등급 ON 테이블명 FROM 사용자ID; REVOKE [GRANT OPTION FOR] 권한리스트 ON 테이블명 TO 사용자ID [CASCADE]; |
▶ GRANT OPTION FOR : 다른 사용자에게 권한을 부여할 수 있는 권한을 취소한다.
▶ CASCADE : 권한 취소 시 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한도 연쇄적으로 취소한다.
-- 'tester' 사용자 계정의 모든 테이블에 대한 모든 권한을 취소한다.
REVOKE all ON *.* FROM tester;
-- 'tester' 사용자 계정의 'notice' 테이블에 대한 권한 중, update 권한을 다른 사람에게 부여할 수 있는 권한만 취소한다.
REVOKE GRANT OPTION FOR update ON notice FROM tester;
'데이터베이스 > MySQL' 카테고리의 다른 글
[MySQL] SQL 제약조건 종류 (0) | 2021.05.31 |
---|---|
[MySQL] SQL 데이터타입 자료형 종류 (0) | 2021.05.31 |
[MySQL] DDL 활용 - 테이블 생성, 수정, 삭제하기 (0) | 2021.05.31 |
[MySQL] SQL종류 - DDL, DML, DCL (0) | 2021.05.31 |
[MySQL] 서버 접속 & 연결하기 (0) | 2021.05.28 |