Day13_MYSQL_ 사용자 추가하기, 권한 부여, 삭제

2023. 3. 21. 16:38SQL

1)사용자 추가하기

mysql command Line 에 root 계정으로 로그인
     로컬에서 접속이 가능한 사용자 추가하기
		
        create user '사용자명'@'localhost' identified by '사용자 비밀번호';
        
        ex) 애플이란 사용자 추가하기
        create user 'apple'@'localhost' identified by '1111';

2) 추가한 계정에 권한 부여하기

모든 DB에 접근이 가능하며 모든 권한을 가진 apple 사용자 만들기 

grant all privileges on *.* to 'apple'@'localhost'l;
✔할당 권한 상세 옵션
all : 모든 권한
usage : 권한을 부여하지 않음

create,drop,alter : 테이블에 대한 생성 삭제 변경권한
select,insert,update,delete : 테이블의 조회 삽입 변경 삭제 권한

예시

    grant select on 데이터베이스명.특정테이블명 to '사용자'@'localhost';
    
    모든 IP 접근 허용
    grant select on 데이터베이스명.특정테이블명 to '사용자'@'%'; 
    
    특정 IP 접근 허용
    grant select on 데이터베이스명.특정테이블명 to '사용자'@'특정 IP주소';
✔IP권한 상세 옵션

% : 모든 IP에서 접근이 가능
127.0.0.1 = localhost에서 접근이 가능

 


3) 사용자 계정 삭제하기

drop user '사용자명'@'localhost';

 


4)예시 및 연습

apple 데이터베이스에 kdt.member 테이블을 복사하고, 해당 테이블의 select 권한만 부여한 orange 계정 만들기

create table apple.member(select * from kdt.member);
create user 'orange'@'localhost' identified by '2222';
grant select on apple.* to 'orange'@'localhost';
해석 
1번째 코드 : apple DB에 member라는 테이블 생성 (내용은 kdt DB에 member 테이블 모든 내용(*))
2번째 코드 : 아이디 : orange@localhost / PW: 2222 계정 생성
3번째 코드 :  apple DB에 모든 테이블 접근이 가능하고,  Select(조회)만 가능한 권한

 

5) 사용자 조회 및 제거

사용자 목록 조회

use mysql;
select user,host from user;


사용자 제거
drop user 계정명;
delete from user where user = 계정명;


사용자 권한 조회하기

show grants for '계정명'@'localhost';
show grants for 'apple'@'localhost';
show grants for 'orange'@'localhost';


사용자 권한 제거하기

revoke 권한명 privileges on 데이터베이스명.테이블명 from '계정명'@'localhost';
revoke all privileges on apple.* from 'apple'@'localhost';

728x90

'SQL' 카테고리의 다른 글

NoSQL 기초  (0) 2023.05.09
Day13_MYSQL_ INDEX  (9) 2023.03.21
Day13_MYSQL_ truncate 구문  (0) 2023.03.21
Day13_MYSQL_ 트렌섹션(transaction)  (0) 2023.03.21
Day13_MYSQL_View  (0) 2023.03.21