본문 바로가기

언어/SQL

[기초] 사용자 추가, MySQL DB 생성, 사용자 권한 부여

 

futurists.tistory.com/11

 

(MySQL) 1장 시작하기. (DB 생성, 테이블 생성, SELECT)

데이터 베이스를 공부하면서 공부 내용을 포스트 해보려 합니다. mySQL을 사용했으며, 버전은 5.7.15 for MAC 입니다. (버전 확인 : mysql --version) 목차 데이터 베이스 생성 (CREATE DATABASE) 데이터 베이스��

futurists.tistory.com

nickjoit.tistory.com/144

 

 

mysql 사용자추가/DB생성/권한부여

서버 관리를 하다보면 mysql 사용자 계정을 추가해 줄때가 있다. MySQL 접속 및 데이터 베이스 추가 # mysql -u root -p 사용자 계정을 추가하기 전에 먼저 현재 생성된 사용자 계정을 확인한다. mysql > use

nickjoit.tistory.com

(두 블로그를 참고하였습니다.)

 

 

SQLD를 공부하다가 MySQL을 받아서 쿼리를 수행해보려고 하는데, 오류가 뜨면서 테이블이 생성되지 않아서 찾아보니, 역시 데이터베이스를 먼저 생성한 후, 권한을 부여해야만 실행이 가능했다.

 

이 과정은 이기적 출판사에서 나온 SQLD 이론서에는 나와있지 않아서 먼저 DB를 생성하는 것부터 실습해보려 한다.


1. 사용자 추가하기

데이터베이스를 사용할 사용자계정을 먼저 추가해보자.

 

1) MySQL Command Line Client 프로그램을 실행한다.

 

2) MySQL을 다운로드 하면서 등록한 패스워드를 입력한다.

 

3) 커맨드 명령 창에 'use mysql'을 입력한다.

use mysql

이런 글이 뜬다.


4) 등록된 사용자가 있는지 확인하기 위해 host와 user를 조회

select host, user from user;

특별히 등록된 사용자는 없다.


5) 사용자 추가

create user 사용자명;

thon이라는 사용자 추가

사용자를 localhost에 추가하면서 비밀번호까지 설정하려면

create user 사용자명@localhost identified by '비밀번호';

총 2개의 사용자가 추가되었다.

번외) 사용자 삭제

drop user 사용자명;
drop user '사용자명'@localhost;

localhost가 아닌 사용자 thon을 삭제했다.


2. 데이터베이스 생성하기

create database thon default character set utf8;
show databases;

※ default chracter sert utf8를 지정하지 않으면 한글이 깨져서 나온다고 한다.

7개의 DB목록이 보인다.

DB 목록 전부 처음부터 있던 DB인데 찾아보니까 이 중에 몇 가지는 원래 제공되는 시스템 DB가 아니었다.

 

더보기

어쩌다 설치된 건지는 모르겠는데 sakila, world DB는 일종의 sample DB로 따로 다운받아야 되는 DB라고 한다.

 

information_schema는 MySQL 서버가 운영하는 모든 다른 DB에 대해 저장하는 장소이고,

 

mysql은 시스템 데이터베이스로 MySQL 서버가 운영될 때 필요한 정보를 가지고 있는 DB

 

perfromance_schema는 MySQL 서버가 운영중일 때 실행단의 여러 작업을 모니터링할 때 사용하는 DB

 

sys는 MySQL 서버의 유저,호스트,세션 등 MySQL 서버 실행 중의 을 확인하는 DB

 

여튼 thon이라는 DB를 만들었으니 이제 사용자에 권한을 부여해보자.

 


3. 사용자 권한 부여

 

GRANT ALL PRIVILIEGES ON DB명.* TO 사용자명@localhost;

FLUSH PRIVILIEGES;

DB명 뒤에 .* 은 해당 DB 내의 모든 테이블에 대한 권한을 부여한다는 뜻이다.

 

SQL문에서 * 은 전체를 의미한다.

 

만약 특정 테이블에 대한 권한만 부여하고 싶다면 ## DB명.테이블명 ## 을 사용한다.

 

권한을 부여하고 이를 적용하려면 ## FLUSH PRIVILIEGES; ##을 실행해야 된다.

 


3-1) 사용자 권한 확인

 

SHOW GRANTS FOR thon@localhost;

확인!


사용자에 권한이 부여되었고, 이제서야 DB에 테이블을 겨우 만들 수 있게 됐다!

 

다음으로는 SQLD를 공부하면서 테이블을 추가해보려고 한다.