728x90
반응형
SMALL
1. 사용자
1-1. 사용자 계정 추가하기
1) MySQL 8.0 Command Line Client 'root' 계정으로 로그인(WorkBench에서 실행해도 됨!)
2) 로컬에서 접속 가능한 사용자 추가하기
# 구문
create user '사용자명'@'localhost' identified by '사용자 비밀번호';
3) 데이터베이스 권한 부여하기
# 구문
grant all privileges on *.* to '사용자'@'localhost'; -- 모든 DB, 테이블 접근 가능
grant all privileges on DB명.* to '사용자'@'localhost'; -- 특정 DB, 모든 테이블 접근 가능
flush privileges; -- 새로운 세팅을 적용까지 해야됨
1-2. 사용자 목록 조회하기
use mysql; -- mysql DB접근
select user, host from user;
1-3. 사용자 계정 삭제하기
drop user 계정명; -- 추천(권한도 같이 삭제됨)
delete from user where user = 계정명;
2. 권한
2-1. 권한 부여하기
✔ 할당 권한 상세 옵션
- create, drop, alter: 테이블에 대한 생성, 삭제, 변경 권한
- select, insert, update, delete: 테이블의 데이터를 조회, 삽입, 변경, 삭제 권한
- *: 모든 권한
- usage: 권한을 부여하지 않고 계정만 생성(default)
grant select, delete... on DB명.테이블명 to '사용자'@'localhost';
✔ IP 권한 상세 옵션
- %: 모든 IP에서 접근이 가능
- 127.0.0.1: localhost에서 접근이 가능
grant select on DB명.테이블명 to '사용자'@'%'; -- 모든 IP 접근 가능
grant select on DB명.테이블명 to '사용자'@'특정 IP';
2-2. 사용자 권한 조회하기
show grants for '계정명'@'localhost';
# 예시
show grants for 'apple'@'localhost';
show grants for 'orange'@'localhost';
2-3. 사용자 권한 제거하기
revoke 권한명 privileges on 데이터베이스명.테이블명 from '계정명'@'localhost';
revoke all privileges on apple.* from 'apple'@'localhost';
✅ apple 데이터베이스에 kdt.member 테이블을 복사하고 해당 테이블의 select 권한만 가능한 orange 계정을 만들어보자.
create database applel; -- apple 데이터 베이스 생성
use apple;
create table apple.member(select * from kdt.member); -- kdt의 데이터베이스 member복사
select * from member;
create user 'orange'@'localhost' identified by '1111'; -- orange 계정 생성
grant select on apple.member to 'orange'@'localhost'; -- select 권한 부여
flush privileges;
orange 계정으로 DB에 접근하여 테스트해보자.
select * from member;
# 에러: update에 대한 권한 없음!
update member set point = 500 where userid = 'cherry';
728x90
반응형
LIST
'DataBase > MySQL' 카테고리의 다른 글
[MySQL] 트랜잭션(Transaction) - COMMIT & ROLLBCK (0) | 2023.03.21 |
---|---|
[MySQL] 뷰(View)에 대해 알아보자! 🧐 (0) | 2023.03.21 |
[MySQL] MySQL함수 - 2️⃣문자열 함수 (0) | 2023.03.20 |
[MySQL] 서브쿼리(Sub Query)에 대해 알아보자! 🧐 (0) | 2023.03.20 |
[MySQL] JOIN 과 UNION_INNER JOIN , LEFT/RIGHT OUTER JOIN, UNION, UNION ALL (0) | 2023.03.20 |