DataBase
여러 사람이 공유하여 사용할 목적으로 체계화해,통합,관리하는 데이터의 집합체
DBMS (Database Management System)
사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고
데이터 베이스를 관리해주는 소프트웨어
관계형 데이터베이스(RDB:Relational Database)
서로간에 관계가 있는 데이터들을 모아둔 데이터 저장공간
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 등의 명령어
*MYSQL
MYSQL 접속
root 계정으로 mysql에 접속
현재 Database 목록 확인
SHOW DATABASES;
Database 이름을 지정하여 생성
CREATE DATABASE dbname;
해당 데이터베이스로 이동(사용)
USE dbname;
Database 삭제
DROP DATABASE dbname;
*User 관리
mysql데이터베이스로 이동 후 조회
use mysql;
SELECT host, user From user;
현재 pc에서만 접속 가능한 사용자를 비밀번호와 함께 생성(localhost)
CREATE USER 'username'@'localhost' identified by 'password';
외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'username'@'%' identified by 'password';
접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제(user 삭제)
DROP USER 'username'@'localhost'
DROP USER 'username'@'%'
*User 권한 관리
실습환경1 - Database 만들기
Database(testdb)생성
CREATE DATABASE testdb;
실습환경2 - User 만들기
사용자 (id: noma@localhost, password: 1234)생성
CREATE USER 'noma'@'localhost' identified by '1234';
User 권한 확인
사용자에게 부여된 모든 권한 목록을 확인
SHOW GRANTS FOR 'username'@'localhost';
User 권한 부여
사용자에게 특정 데이터베이스의 모든 권한을 부여
GRANT ALL ON dbname.* to 'username'@'localhost';
참고 - 수정내용이 적용이 되지 않은 경우 새로고침
FLUSH PRIVILEGES;
User 권한 제거
REVOKE ALL ON dbname.*from 'username'@'localhost';