simDev1234
심플하고 차분하게
simDev1234
전체 방문자
오늘
어제
  • 분류 전체보기
    • Computer Science
      • Basic Math
      • Data Structure
      • Algorithm
      • Database
      • OS
    • Language
      • Java
      • Kotlin
      • SQL
    • Framework
      • Spring
      • Orm&Mapper
      • 프로젝트로 스프링 이해하기
      • 스프링 라이브러리
    • Infra
      • Cloud
      • Docker
      • Redis
      • AWS, Azure
      • Device
    • Etc
      • CleanCoding
    • Git,Github

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스프링
  • null
  • 자바메모리구조
  • scanner #next() #nextLine()
  • 참조변수
  • 자바프로그래밍
  • 컨트롤러
  • JVM메모리구조
  • 자바
  • 자바프로그램
  • 404
  • 참조타입
  • controllerTest

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
simDev1234

심플하고 차분하게

Language/SQL

데이터베이스 - 데이터베이스 생성 및 권한 부여(DDL)

2022. 8. 11. 22:37

|  개요

📌  인스턴스란? = database(데이터의 집합) = table space = 테이블이 위치하는 공간(디렉토리)
📌  계정은 왜 여러개 생성할까? 접속자마다 DB 관리권한이 다를 수 있다. 
📌  원격으로 접속하는 컴퓨터에 대한 접속권한도 고려해야 한다.

📌  SQL명령어 - DDL, DML, DCL

 

|  SQL (Structured Query Language)

- 의미 : DBMS와 소통하기 위한 구조화된 질의어

- 구분

데이터 정의어(DDL, Data Definition Langugae) CREATE, DROP, ALTER, TRUNCATE
데이터 조작어(DML, Data Manipulation Language) INSERT, UPDATE, DELETE, SELETE ( CRUD )
데이터 제어어(DCL, Data Control Language) GRANT, REVOKE, TRANSACTION, COMMIT, ROLLBACK..

☝️  데이터 정의어 : 테이블과 인덱스 구조를 관리

✌️  데이터 조작어 : DDL를 통해 테이블 구조가 잡히면 그 안에 넣을 데이터를 CRUD하는 언어

🤟 데이터 제어어 : 권한을 부여하거나 뺏는 등의 제어와 관련된 언어

 

|  데이터베이스 인스턴스 및 계정 생성 

A. 데이터베이스 생성과 삭제

📡 MariaDB

CREATE DATABASE /*테이블명*/;
DROP DATABASE /*테이블명*/;
더보기

📡Oracle

// 아래와 같이 테이블스페이스를 만들지 않으면 System(관리자=root)와 같은 공간 공유
DEFAULT TABLE SPACE USERS 기본테이블 스페이스;
TEMPORARY TABLESPACE 임시테이블 스페이스;

 

B. 데이터베이스 계정 생성

📡 MariaDB

- 데이터베이스 계정 조회

show databases;
use mysql;
select User, Host, Password from user;

- 계정 생성하기

CREATE USER '계정명'@'호스트명' IDENTIFIED BY '비밀번호';
CREATE USER '계정명'@'localhost' IDENTIFIED BY '비밀번호'; // 로컬만 허용
CREATE USER '계정명'@'%' INDENTIFIED BY '비밀번호'; // 다른 ip도 허용

flush privileges;

rf. 원격 계정 접속 : 로그인 옵션에 [ -h  ip주소 ]를 추가한다.

 

// 원격 pc에서
mysql -h /*접속하려는 ip*/ -u /*계정명*/ -p /*비밀번호*/
더보기

📡 Oracle

> 관리자 아이디로 접속 후
create user 계정 identified by 비밀번호

- 오라클 원격 접속 관련 내용

https://velog.io/@jonghne/%EC%98%A4%EB%9D%BC%ED%81%B4-DB-%EC%9B%90%EA%B2%A9-%EC%A0%91%EC%86%8D-%EC%84%A4%EC%A0%95
 

오라클 DB 원격 접속 설정 (intelliJ 접속 테스트까지)

오라클 원격 접속을 위한 설정에 대해 포스팅한다.외부에 오라클 DB를 접속할수 있게 하려면 아래 4가지가 필요하다DB 서버의 IP 주소 확인오라클 DB의 PORT 확인오라클 DB 계정 접속 정보 (ID/PW) 확

velog.io

 

C. 데이터베이스 계정 권한 설정

📡 MariaDB

- 계정에 테이블에 대한 사용 권한을 부여하는 것이다.

GRANT ALL PRIVILEGES ON 테이블명.* TO '계정명'@'호스트명' IDENTIFIED BY '비밀번호'; // 특정 IP
GRANT ALL PRIVILEGES ON 테이블명.* TO '계정명'@'%' IDENTIFIED BY '비밀번호'; // 전체 IP 대상

FLUSH PRIVILEGES; // 권한 설정사항 FLUSH
더보기

📡 Oracle

> 관리자 아이디로 접속 후
> 권한 부여
grant all                        --- 모든 권한 부여(위험)
grant connect to 계정            --- db 연결 권한
grant resource to 계정           --- db 자원(table, sequence) 생성 권한
grant dba to 계정                --- 시스템 자원 무제한 사용, 다른 사용자 권한 조정 등 강력한 기능에 관한 권한
grant select on 테이블 to 계정   --- 조회(SELECT) 권한 부여
grant create view to 계정        --- 뷰 권한 

> 권한 회수
revoke connect,resource from 계정
revoke select on 테이블 또는 뷰명 from 계정  -- 테이블 또는 뷰 권한 회수

 

D. 데이터베이스 조회

📡 MariaDB

SHOW DATABASES;
더보기

📡 Oracle

SELECT *
FROM ALL_ALL_TABLES;

 

 

[ 참고 및 출처 ]

부트 캠프 강의를 들은 후 정리한 내용입니다.

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ragew&logNo=30047111788 

https://sgcomputer.tistory.com/247

'Language > SQL' 카테고리의 다른 글

데이터 처리 - CRUD  (0) 2022.08.16
테이블 - 데이터 자료형, DDL/툴을 통한 생성 및 삭제  (0) 2022.08.15
데이터베이스 환경 구축(설치)  (0) 2022.08.11
파일시스템과 DBMS, RDMBS  (0) 2022.08.10
[DATABASE] PL/SQL 프로시져  (0) 2022.04.27
    'Language/SQL' 카테고리의 다른 글
    • 데이터 처리 - CRUD
    • 테이블 - 데이터 자료형, DDL/툴을 통한 생성 및 삭제
    • 데이터베이스 환경 구축(설치)
    • 파일시스템과 DBMS, RDMBS
    simDev1234
    simDev1234
    TIL용 블로그. * 저작권 이슈가 있는 부분이 있다면 댓글 부탁드립니다.

    티스토리툴바