DataBase

정한별·2024년 6월 4일

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';

0개의 댓글