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