여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체
사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어
서로간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간
데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어
root 계정으로 mysql에 접속
% mysql -u root -p
Enter password:
현재 database 목록 확인
SHOW DATABASES;

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

USE dbname;

DROP DATABASE dbname;

사용자 정보는 mysql 에서 관리하므로 일단 mysql 데이터베이스로 이동후 조회
use mysql;
SELECT host, user FROM user;
현재 PC 에서만 접속 가능한 사용자를 비밀번호와 함께 생성
CREATE USER 'username'@'localhost' identified by 'password';

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

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

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

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

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

FLUSH PRIVILEGES;