Chapter
1. Database 사용하기
(1) Database 정의
(2) Database 관리
(3) USER 관리
(4) USER 권한 관리
이번 시간부터 SQL을 배우게 되었다. SQL을 배우기 위해 DBMS로 'MySQL'을 사용하려고 한다.
사이트를 이용해서 설치를 할 수 있다. (https://dev.mysql.com/downloads/installer)
먼저 MySQL을 이용하기 전에 여러 용어를 익혀보자.
MySQL 클라이언트에 들어가면 비밀번호를 입력해야 접속할 수 있다. (비밀번호는 MySQL 설치시 root계정에 설정됨)
현재 database 목록을 확인해보자.
SHOW DATABASES;
데이터베이스 이름을 설정해서 만들 수 있다.
dbname과 testdb를 만들어, 데이터베이스 목록을 확인해보자.
CREATE DATABASE dbname;
CREATE DATABASE dbname;
SHOW DATABASES;
현재 데이터베이스에서 새로 만든 testdb로 이동해서 작업을 이어나가자.
USE testdb;
새로 만든 dbname 데이터베이스를 삭제한 후, 목록을 확인해보자.
DROP DATABASE dbname;
SHOW DATABASES;
.
.
먼저 사용자 정보는 mysql에서 관리하므로 mysql에 위치해야 한다.
USE mysql;
유저 정보를 확인해보자.
SELECT host, user FROM user;
이제 유저를 생성해보자.
먼저 현재 PC에서만 접속 가능한 localhost 사용자를 비밀번호와 함께 만든다.
(유저 네임:'zerobase', 비밀번호:'1234')
CREATE USER 'zerobase'@'localhost' indentified by '1234';
SELECT host, user FROM user;
이번에는 외부 접속 사용자를 생성해준다.
(유저네임: 'zerobase', 비밀번호: '5678')
CREATE USER 'zerobase'@'%' identified by '5678';
SELECT host, user FROM user;
이제 유저를 삭제해보자. 로컬 유저와 외부 접속 유저의 이름을 동일하게 지을 수 있으므로, 삭제할 때에도 접근 범위를 지정해서 삭제해줘야 한다.
DROP USER 'zerobase'@'%';
DROP USER 'zerobase'@'localhost';
SELECT host,user FROM user;
.
.
먼저, 권한을 부여할 로컬 사용자 'noma'을 만들어 주었다.
CREATE USER 'noma'@'localhost' identified by '1234';
SELECT host, user FROM user;
현재 사용자에게 부여된 모든 권한을 확인해보자.
SHOW GRANTS FOR 'noma'@'localhost';
이제 사용자 'noma'에게 데이터베이스의 모든 권한을 부여해서, 권한을 확인해본다.
GRANT ALL ON testdb.* to 'noma'@'localhost';
SHOW GRANTS FOR 'noma'@'localhost';
마지막으로 사용자에게 부여된 데이터베이스의 권한을 삭제해보자.
REVOKE ALL ON testdb.* FROM 'noma'@'localhost';
SHOW GRANTS FOR 'noma'@'localhost';