DBeaver 데이터베이스 생성 및 초기 설정

신지훈·2023년 8월 14일
0
post-thumbnail

1. MYSQL 서버 켜기

데이터배이스를 생성하기 전에 MYSQL 서버를 켜줘야 합니다. 우선 윈도우 검색창에 서비스를 검색한 후 저는 MYSQL80 서버를 서비스를 실행시켜 다음과 같은 화면이 나오도록 합니다.

MYSQL 설치와 DBeaver 설치 방법은 다른 글을 참고해 주세요!

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

서버를 켰다면 DBeaver를 켜줍니다. 데이터베이스 생성 방법은 아래 사진과 같이 Databases을 오른쪽 마우스를 누른 후 Create New Database를 누러줍니다. 데이터베이스 이름을 적어주시고 확인 버튼을 눌러 데이터베이스를 생성합니다.

다음은 사용자를 생성합니다. 직접 사용해보니 내가 데이터베이스를 만들었다고 아무렇게나 사용할 수 있는게 아니었습니다. 각각의 DB마다 관리해주는 사용자계정을 만들 수 있고 권한을 설정할 수 있습니다. 위의 그림에서 Users를 열어본다면 mysql를 설치하면서 생성한 사용자 계정을 볼 수 있습니다. 그 계정은 기본적인 계정으로 모든 권한을 가지고 있습니다. 사용자가 어떤 권한을 가지고 있는지는 계정을 생성한 후에 알아보도록 하겠습니다.

3. 사용자계정 생성하기

그림과 같이 오른쪽 키를 통해 사용자를 생성할 수도 있고 sql문을 사용할 수도 있습니다. sql문은 아래에 따로 붙여두도록 하겠습니다. 이어서 생성한 사용자에게 루트 계정을 이용해 권한을 부여해야 합니다. 저는 개발의 편의상 모든 권한을 부여했었지만 이번 기회에 알아가 보는 것도 좋을거 같습니다. 우선 아래와 같이 DBeaver를 통하면 간단하게 클릭으로 권한을 설정할 수 있습니다.

아래 sql문을 통해서 사용자를 생성하고 권한을 부여할 수 있습니다.

show databases; 	//모든 데이터베이스 보여주기

create database databaseName;	//데이터베이스 생성하기

create user 'username'@'localhost' identified by 'password';	//사용자 생성하기

select 	`user` from `mysql`.`user`;		//모든 사용자 보여주기

show grants for 'username'@'localhost';		//사용자의 권한 보여주기

grant all on `databaseName`.* to 'username'@'localhost' with grant option;		//모든 권한 부여하기(다른 사용자에게 권한을 줄 수 있는 권한을 포함)


/** board 데이터베이스에서 jihoon계정에게 모든 권한과 다른 사용자에게 권한을 줄 수 있는 권한(with grant option)을 줌 

flush privileges;  →권한에 대한 내용을 다시 읽어오게 하는 것으로 권한이 잘 작동하지 않을 때 사용	*/

더 자세한 sql 문법을 알고 싶다면 이글를 참고하면 좋을 거 같습니다.

4. 권한 알아보기

권한설명
ALL모든 권한 부여
ALTERTable 내용 변경 가능
ALTER ROUTINEFunction, Procedure, Trigger 내용 변경 또는 삭제 가능
CREATEDatabase, Table 생성 가능
CREATE ROUTINEFunction, Procedure, Trigger 생성 가능
CREATE TABLESPACETableSpace, Log file groups 생성 가능
CREATE TEMPORARY TABLESTemporary Table 생성 가능
CREATE USERUser 생성, 삭제, 변경 가능
CREATE VIEWView 생성 및 변경 가능
DELETEDelete 명령어 사용 가능
DROPDatabase, Table, View 삭제 가능
EVENTEvent 사용 가능
FILESELECT.. INTO OUTFILE LOAD DATA INFILE 명령어 사용 가능
INDEXIndex 생성 및 삭제 가능
INSERTInsert 명령어 사용 가능
LOCK TABLESselect 권한이 있을 경우 LOCK TABLES 사용 가능
PROCESSShow Process 명령어 사용 가능
RELOADFLUSH 명령어 사용 가능
SELECTSelect 명령어 사용 가능
SHOW DATABASES전체 Databases 목록을 보여줌 (해당 권한이 없는 경우에는 자신의 Databases만 출력)
SHUTDOWNShutdown(mysql 서비스 종료) 명령어 사용 가능
UPDATEUpdate 명령어 사용 가능

5. 참고자료

https://wayhome25.github.io/mysql/2017/03/23/mysql-11-user-setting/
https://proni.tistory.com/146

아직 많이 부족합니다! 부족한 점이 있으면 말씀해 주세요~

profile
주주주주니어 개발자

1개의 댓글

comment-user-thumbnail
2023년 8월 14일

유익한 자료 감사합니다.

답글 달기