Notice
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Arrays.sort()
- 타입오류
- 향상된 for문
- 3-Way Handshake
- 객체지향 5대 특징
- 의존역적원칙
- CORS
- jquery
- 분산형 아키택처
- MSA
- 토글기능
- 객체지향
- 4-Way Handshake
- flask
- 빅오표기법
- oop 4대 특성
- 프로그래머스
- 함수지향
- soild
- 마이크로서비스아키택처
- 클래스추가
- 회원가입기능
- 클래스삭제
- 의존성주입
- 로그인기능 #
- 멀티프로세스
- nat inside
- AttributeError
- 배열오름차순정렬
- 비절차형 언어
Archives
- Today
- Total
개발하는 체대생
(1)DB 생성하기, 권한 주기 본문
show databases; -- database : 데이터의 집합소
/*1. 유저 생성*/
-- CREATE USER[유저이름]@[접근가능한 host] IDENTIFIED BY [비밀번호];
-- [이 안에있는 내용은 바꿀수 있는 내용이라는 뜻]
-- 대문자로 작성한 내용은 시스템에 있는 내용이라는 뜻
-- web_user 는 외부에서는 접속 불가하며...비밀번호는 pass 다.
CREATE USER 'web_user'@'localhost'IDENTIFIED BY 'pass';
-- web_user 는 어디서든 접속 가능하며...비밀번호는 pass 다.
CREATE USER 'web_user'@'%'IDENTIFIED BY 'pass';
-- web_user 는 123.456.으로 시작하는 IP 대역에서는 접속 가능하며...비밀번호는 pass 다.
CREATE USER 'web_user'@'123.456.%'IDENTIFIED BY 'pass';
-- dba_user 는 123.456.3.으로 시작하는 IP에서 접속 가능하며 비밀번호는 1234이다.
CREATE USER 'dba_user'@'123.456.3.%'IDENTIFIED by '1234';
-- user002는 123.456.0.111에서 접속 가능하며 비밀번호는 1234이다.
CREATE USER 'user002'@'123.456.0.111'IDENTIFIED by '1234';
CREATE USER 'usertest'@'%'IDENTIFIED by '1234';
GRANT ALL PRIVILEGES ON *.* TO 'usertest'@'%';
drop user 'usertest'@'%';
-- 생성된 user 확인
SELECT*FROM mysql.USER;
/*2. 권한 부여 및 회수*/
-- 권한 부여
-- GRANT[권한]ON[데이터베이스.테이블]TO[사용자]
/*줄 수 있는 권한(자주 사용하는 것 위주)
* ALL PRIVILEGES : GRANT OPTION 을 제외한 모든 권한
* SELECT : 읽기권한 - 특정명령어에 대한 권한도 줄 수 있다.(UPDATE, INSERT, DELETE, CREATE, DROP 등...)
* GRANT OPTION : 권한 부여(내가 갖은 권한 이상은 줄 수 없다.)
* */
-- web_user는 모든 IP로 접속 가능하고 grant를 제외한 모든 권한을 가지고 있으며, 모든 데이터베이스, 모든 테이블을 접근 할 수 있다.
GRANT ALL PRIVILEGES ON *.* TO 'web_user'@'%';
-- dba_user 는 SELECT 권한을 주고, mysql 데이터 베이스의 모든 테이블 접근을 허용한다.
GRANT SELECT ON mysql.* TO 'dba_user';
-- 접근할 수 없는 데이터베이스에 권한을 줘서 에러가 난다.
-- user002 는 SELECT,UPDATE,INSERT,DELETE 권한을 주고, 모든 데이터베이스와 테이블에 접근이 가능하다.
GRANT SELECT, UPDATE, INSERT, DELETE ON *.* TO 'user002'@'123.456.0.111';
-- 권한 확정(GRANT로 권한을 준 경우는 사용하지 않아도 된다.)
FLUSH PRIVILEGES;
-- 유저 확인으로 권한 여부를 알 수 있다.
SELECT*FROM mysql.user;
-- 권한 회수
-- REVOKE[권한]ON[데이터베이스,테이블]FROM[사용자]
REVOKE INSERT, DELETE ON *.* FROM 'user002'@'123.456.0.111';
-- 유저의 비밀번호 변경
-- SET PASSWORD FOR [사용자]@[접근가능한 host] = PASSWORD([패스워드]);
SET PASSWORD FOR 'user002'@'123.456.0.111' = PASSWORD('패스워드');
-- 유저 삭제
DROP USER 'user002'@'123.456.0.111';
DROP USER 'dba_user'@'123.456.3.%';
DROP USER 'web_user'@'123.456.%';
'DB' 카테고리의 다른 글
(2)테이블 생성,삭제,수정하기 (0) | 2023.04.02 |
---|
Comments