Database
DBMS
DBMS; Database Management System
관계형 데이터베이스(RDB)
RDB; Relational Database
SQL
SQL; Structured Query Language
SQL 구성
데이터 정의 언어(DDL; Data Definition Language)
- CREATE, ALTER, DROP 등의 명령어
데이터 조작 언어(DML; Data Mainpulation Language)
- INSERT, UPDATE, DELETE, SELECT 등의 명령어
- ⭐SELECT 명령어 중요!
데이터 제어 언어(DCL; Data Control Language)
- GRANT, REVOKE, COMMIT, ROLLBACK 등의 명령어
SHOW DATABASES;
CREATE DATABASE testdb;
USE testdb;
DROP DATABASE testdb;
사용자 정보는 mysql에서 관리하므로
-> mysql 데이터베이스로 이동 후 조회
use mysql;
SELECT host, user FROM user;
[종류]
-현재 pc에서 사용가능한 사용자
-외부 pc에서 사용가능한 사용자
현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'username'@'localhost' identified by 'password';
create user 'nima'@'localhost' identified by '1234';
외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'username'@'%' identified by 'password';
create user 'nima'@'%' identified by '5678';
접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제
drop user 'nima'@'localhost'
drop user 'nima'@'%'
권한 관리를 실습하기 위한 Database(testdb) 생성
create database testdb;
사용자 정보는 MySQL 데이터베이스에서 관리하고 있음
-> mysql로 이동해서 user 관리를 해줘야 함
use mysql;
권한 관릴르 실습하기 위한 사용자(id: noma@localhost, password: 1234) 생성
create user 'noma'@'localhost' identified by'1234';
select host, user from user;
▲ 문법 :
사용자(noma, localhost)에 부여된 모든 권한 목록을 확인
show GRANTS for 'noma'@'localhost';
사용자에게 특정 데이터베이스의 모든 권한을 부여
GRANT ALL ON testdb.* to 'noma'@'localhost';
▲ 문법 :
수정내용이 적용되지 않는 경우 새로고침 명령어 입력
FLUSH PRIVILEGES;
사용자에게 특정 데이터베이스의 모든 권한을 삭제
revoke all on testdb.* from 'noma'@'localhost';