| 개요
📌 인스턴스란? = 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
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
'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 |