Database 관리, user 관리

밤비나·2023년 4월 10일
0

SQL

목록 보기
1/13

Database란?

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

DBMS(Database Management System)란?

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

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

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

SQL (Structured Query Language)

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

SQL 구성

  • 데이터 정의 언어 (DDL : Data Definition Language)
    - CREATEm ALTER, DROP 등
  • 데이터 조작 언어 (DML : Data Manipulation Language)
    - INSERT, UPDATE, DELETE, SELECT 등
  • 데이터 제어 언어 (DCL : Data Control Language)
    - GRANT, REVOKE, COMMIT, ROLLBACK 등

Database 관리

MYSQL 접속

root 계정으로 mysql 접속

% mysql -u root -p

현재 database 목록 확인

SHOW DATABASES;

Database 생성

Database 이름을 지정하여 생성

CREATE DATABASE dbname;

Database 사용

해당 데이터베이스로 이동(사용)

USE dbname;

Database 삭제

DROP DATABASE dbname;


User 관리

User 조회

사용자 정보는 mysql에서 관리하므로 일단 mysql 데이터베이스로 이동 후 조회

use mysql
SELECT host, user FROM user;

User 생성 - localhost

현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성

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

User 생성 - %

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

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

User 삭제

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

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

User 권한 관리

User 권한 확인

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

SHOW GRANTS FOR 'username'@'localhost';

User 권한 부여

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

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

User 권한 제거

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

REVOKE ALL ON dbname.* FROM 'username'@'localhost';
  • 참고 : 수정내용이 적용이 되지 않은 경우 새로고침
FLUSH PRIVILEGES;
profile
씨앗 데이터 분석가.

0개의 댓글