본문 바로가기
코딩도전기/DB(mariaDB)

CODO Day31_DB(유저생성/권한설정/유저삭제)

by 코도꼬마 2023. 3. 17.

Data Base

  • 데이터를 영구적으로 저장할 수 있는 저장소
  • 서로 다른 시스템 간에 데이터를 공유 할 수 있음

 

# DBMS(Data Base Management System)  :  Data Base를 관리하는 시스템

# Mysql or maria db는 3306 포트 사용

 

DDL(Data Define Language) 테이블 생성, 테이블 내용 변경,
테이블 삭제
CREATE, ALTER, DROP
DML(Data Manipulation Language) 데이터 추가, 삭제, 수정 INSERT, DELETE, UPDATE
DCL(Data Control Language) 데이터 관리 COMMIT, ROLLBACK, GRANT, REVOKE

 

와일드카드 문자

% 해당 위치에 들어오는 모든 문자열 허용(길이제한x)
_ 해당 위치에 들어오는 모든 문자열 허용(한글자)
* 모든 데이터베이스 or 모든 테이블

 

 

ROOT

  • 모든 권한을 가지고 있는 관리자
  • 사용자의 명령어 실행 및 접근권한을 조정 할 수 있음
  • User 생성 시 접근 IP 대역을 설정 할 수 있음

 

유저생성

CREAT USER [유저이름]@[접근가능IP] IDENTIFIED BY [비밀번호];

-- web_user는 모든 IP에서 접근 가능, 비밀번호는 pass
create user 'web_user'@'%'identified by 'pass';

-- dba_user는 192.168로 시작하는 IP에서 접근 가능, 비밀번호는 pass
create user 'dba_user'@'192.168.%'identified by 'pass';

-- user002는 192.168.12.33 IP에서 접근 가능, 비밀번호는 pass
create user 'user002_user'@'192.168.12.33'identified by 'pass';

-- 생성된 유저 확인
select * from mysql.user;

 

권한설정

  • 권한부여 - 내가 가진 권한 이상으로는 부여할 수 없음
    • all privileges : grant option을 제외한 모든 권한
    • grant option : 권한부여

GRANT [권한,권한,...] ON [데이터베이스,테이블] TO [사용자]

 

  • 권한확인

select * from mysql.user;

 

  • 권한회수

REVOKE [권한] ON [데이터베이스,테이블] FROM [유저]

 

grant all privileges on *.* to 'web_user'@'%';

-- dba_user에게 mysql 데이터베이스의 모든 테이블에서 사용가능한 selcet 명령어 권한을 부여
-- 특정 명령어들 (select, update, insert, create, drop 등)을 권한으로 줄 수 있음
grant select on mysql.* to 'dba_user'@'192.168.%';

-- user002는 모든 데이터베이스, 모든 테이블에서 select, insert, update, delete 권한을 갖음
grant select, insert, update, delete on *.* to 'user002_user'@'192.168.12.33';

-- 권한 확인
select * from mysql.user;

-- 권한 회수
-- REVOKE [권한] ON [데이터베이스,테이블] FROM [유저]
revoke insert, update, delete on *.* from 'user002_user'@'192.168.12.33';

 

 

유저삭제

DROP USER [유저]

drop user 'dba_user'@'192.168.%';
drop user 'user002_user'@'192.168.12.33';

 

비밀번호를 잊어버렸을 경우(root 비밀번호가 아니면 다시 만듦)

SET PASSWORD FOR [사용자] = PASSWORD([비밀번호])

set password for 'dba_user'@'192.168.%' = PASSWORD('1234');