- 정의
- Database
: 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체
- DBMS(Database Management System)
: 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어 (ex- mySQL)
- 관계형 데이터베이스 (RDB : Relational Database)
: 서로간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간 (ex- mySQL)
- SQL (Structured Query Language)
: 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어
- SQL 구성
- 데이터 정의 언어 (DDL : Data Definition Language)
-> CREATE, ALTER, DROP 등의 명령어
- 데이터 조작 언어 (DML : Data Manipulation Language)
-> INSERT, UPDATE, DELETE, SELECT 등의 명령어
- 데이터 제어 언어 (DCL : Data Control Language)
-> GRANT, REVOKE, COMMIT, ROLLBACK 등의 명령어
- Database 관리
- root 계정으로 mysql 접속
- 현재 database 목록 확인
SHOW databases;
CREATE DATABASE dbname;
USE dbname;
DROP DATABASE dbname;
- User 관리
use mysql;
SELECT host, user FROM user;
-> 사용자 정보는 mysql에서 관리하므로 일단 mysql 데이터베이스로 이동후 조회
CREATE USER 'username'@'localhost' identified by 'password';
-> 현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'username'@'%' identified by 'password';
-> 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
DROP USER 'username'@'localhost';
DROP USER 'username'@'%';
-> 접근범위에 따라 같은 이름의 사용자여도 별도로 삭제해야 함
- User 권한 관리
SHOW GRANTS FOR 'username'@'localhost';
- 사용자에게 특정 데이터베이스의 모든 권한을 부여
GRANT ALL ON dbname.* to 'username'@'localhost';
- 참고) 수정내용이 적용이 되지 않은 경우 새로고침
FLUSH PRIVILEGES;
- 사용자에게 특정 데이터베이스의 모든 권한을 삭제
REVOKE ALL ON dbname.* from 'username'@'localhost';
<제로베이스 데이터 취업 스쿨>