728x90
반응형
SMALL
MySQL 사용자
목차:
- 사용자 추가하기
- DB 권한 부여하기
- 할당 권한 상세 옵션
- IP권한 상세 옵션
- 예제
- 사용자 제거
- 사용자 권한 조회하기
- 사용자 권한 제거하기
1. 사용자 추가하기
- mysql 8.0 command line client root 계정으로 로그인
- 로컬에서 접속 가능한 사용자 추가하기
기본 구조:
create user '사용자명' @ 'localhost' identified by '사용자 비밀번호';
예시:
create user 'apple'@'localhost' identified by '1111';
2. DB 권한 부여하기
grant all privileges on *.* to '사용자' @ 'localhost'; #모든 DB에 접근가능
grant all privileges on 데이터베이스명.to '사용자'@'localhost';
flush privileges; # 새로운 세팅을 적용함
✔ 2-1 할당 권한 상세 옵션
create, drop, alter: 테이블에 대한 생성, 삭제, 변경 권한
select, insert, update, delete: 테이블의 데이터를 조회, 삽입, 변경, 삭제에 대한 권한
all: 모든 권한
usage: 권한을 부여하지 않고 계정만 생성
ex) grant select(,,,하면서 더 추가 가능) on (데이터베이스명.테이블명 to '사용자'@'localhost');
# 괄호안에있는 것들은 생략가능
✔ 2-2 IP권한 상세 옵션
%: 모든 아이피에서 접근 가능
127.0.0.1: localhost에서 접근 가능
ex) grant select(,,,하면서 더 추가 가능) on 데이터베이스명.테이블명 to '사용자'@'%';
ex) grant select(,,,하면서 더 추가 가능) on 데이터베이스명.테이블명 to '사용자'@'특정아이피 주소';
3. 예제
# apple 데이터베이스에 kdt.member 테이블을 복사하고 해당 테이블의 select 권한만 가능한 orange 계정을 만들어보자.
use kdt;
create table members(select * from member);
create user 'orange'@'localhost' identified by '1111';
grant select on kdt.members to 'orange'@'localhost';
# 선생님 답안(터미널 사용)
use apple
create table member(select * from member);
grant select on apple.members to 'orange'@'localhost';
flush privileges;
# 오렌지 계정 테스트
use apple;
select * from member;
update member set point = 500 where userid='berry'; # Error Code: 1142. UPDATE command denied to user 'orange'@'localhost' for table 'member'
# 사용자 목록 조회
use mysql;
select user, host from user;
4. 사용자 제거
# drop user 계정명; # 추천!
# delete from user where user=계정명;
5. 사용자 권한 조회하기
show grants for 계정명@'localhost';
show grants for 'apple'@'localhost';
show grants for 'orange'@'localhost';
6.사용자 권한 제거하기
revoke 권한명 privileges on 데이터베이스명.테이블명 from '계정명'@'localhost';
revoke all privileges on apple.* from 'apple'@'localhost';
728x90
반응형
LIST
'DBMS > MySQL' 카테고리의 다른 글
MySQL- 트랜젝션(Transaction) (0) | 2023.03.21 |
---|---|
MySQL- View (0) | 2023.03.21 |
MySQL- 데이터 조작(select) (0) | 2023.03.16 |
MySQL- 연산자 (0) | 2023.03.16 |
MySQL - table (0) | 2023.03.15 |