[제로베이스]SQL_Database설치_01. Database 정의

새봄·2024년 1월 17일
post-thumbnail

1. Database 정의

1) Database란?

  • 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터 집합체

2) DBMS란?(Database Management System)

  • 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어

3) 관계형 데이터베이스란(RDB : Relational Database)

  • 서로간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간

4) SQL이란? (Structured Query Language)

  • 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어

5) SQL 구성

1) 데이터 정의 언어(DDL : Data Definition Language)

  • CREATE, ALTER, DROP 등의 명령어

2) 데이터 조작 언어(DML : Data Maniplation Language)

  • INSERT, UPDATE, DELETE, SELECT 등의 명령어
  • 데이터 사이언티스트에게 가장 중요함, 특히 SELECT

3) 데이터 제어 언어(DCL : Data Control Language)

  • GRANT, REVOKE, COMMIT, ROLLBACK 등의 명령어

2. Database 관리

1) MySQL 접속

  • root 계정으로 mysql 접속
  • 터미널에서 실행
% mysql -u root -p
Enter password: 

2) Database 확인

  • 현재 database 목록 확인
SHOW DATABASES;

3) Database 생성

  • Database 이름을 지정하여 생성
CREATE DATABASE dbname;

4) Database 사용

  • 해당 데이터베이스로 이동(사용)
USE dbname;

5) Database 삭제

DROP DATABASE dbname;

3. User 관리

1) User 조회

  • 사용자 정보는 mysql에서 관리하므로 일단 mysql 데이터베이스로 이동 후 조회
use mysql;
SELECT host, user FROM user;

2) User 생성 - localhost

  • 현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'username'@'localhost' identified by 'password';

3) User 생성 - %

  • 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'username'@'%' identified by 'password';

호스트 정보가 다른 유저는 이름이 같아도 상관없다.

4) User 삭제

  • 접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제
DROP USER 'username'@'localhost'
DROP USER 'username'@'%'

4. User 권한 관리

1) 실습환경 만들기1 - Database 만들기

  • 권한 관리를 실습하기 위한 Database(testdb) 생성
CREATE DATABSE testdb;

2) 실습환경 만들기2 - User 만들기

  • 권한 관리를 실습하기 위한 사용자(id : noma@localhost, password : 1234) 생성
CREATE USER 'noma'@'localhost' identified by '1234'

사용자 정보는 mysql이라는 데이터 베이스에서 관리하고 있으니 mysql로 이동해서 유저 관리를 해야함.

3) User 권한 확인

  • 사용자에게 부여된 모든 권한 목록을 확인
SHOW GRANTS FOR 'username'@'localhost';

4) User 권한 부여

  • 사용자에게 특정 데이터베이스의 모든 권한을 부여
GRANT ALL ON dbname.* to 'username'@'localhost';

  • 새로 고침
FLUSH PRIVILEGES;

5) User 권한 제거

  • 사용자에게 특정 데이터베이스의 모든 권한을 삭제
REVOKE ALL ON dbname.* from 'username'@'localhost';

터미널 창을 지우고 싶으면 system clear 입력
윈도우는 system cls;

0개의 댓글