Database 정의 및 사용

JERRY·2025년 2월 24일

SQL

목록 보기
2/18
post-thumbnail

1. Database 정의

- 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 등의 명령어

2. Database 관리

1. SQL 접속

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

외부에서 접속 가능한 사용자를 비밀번호와 함께 생성

CREATE USER 'username'@'%' identified by 'password';

3. User 삭제

접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제

DROP USER 'username'@'localhost';
DROP USER 'username'@'%';


4. User 권한 관리

1. User 권한 확인

사용자에게 부여된 모든 권한 목록을 확인

SHOW GRANTS FOR 'username'@'localhost';

2. User 권한 부여

사용자에게 특정 데이터베이스의 모든 권한을 부여

GRANT ALL ON dbname.* to 'username'@'localhost';

3. User 권한 제거

사용자에게 특정 데이터베이스의 모든 권한을 삭제

REVOKE ALL ON dbname.* from 'username'@'localhost';

  • 참고 - 수정내용이 적용이 되지 않은 경우 새로고침
FLUSH PRIVILEGES;

0개의 댓글