[DB] MySQL Workbench ERD 추출(SSL 에러 해결)

2022. 1. 22. 15:20DB(DataBase)

반응형

 

 

IT 산업에서 일을 하다보면 반드시 DB라는 존재와 엮이게 된다.

 

Front-End 개발자라면 보통 DB를 직접 마주하기 보다는 API를 통해 마주한다.

 

Rest API나 Graphql로 DB에 저장되어 있는 데이터를 Back-end에서 주는대로 받아 가공하여 화면에 보여주기 때문이다.

 

 

하지만 Back-end 개발자는 DB에 직접 붙어야 할 일이 대다수이다.

 

데이터를 저장하고 삭제하고 수정하는 일을 대부분 하기 때문이다.

 

 

 

 

1. ERD란? ERD의 필요성


 

이렇게 알아야하거나 관리해야할 DB의 테이블이 한두개라면 문제가 없다.

 

테이블이 50개, 100개 더 많다면 어떨까?

 

데이터가 어떤 식으로 저장되어 연결되어 있는지, DB구조가 변경되었다면 어떻게 이력관리가 되는지 문서 없이는 관리하기 힘들 것이다.

 

그래서 ERD라는 것이 필요하다.

 

ERD는 Entity Relationship Diagram 의 약자로 쉽게 그림으로 테이블의 관계들을 설명해 놓은 것이다.

 

 

 

개체-관계 모델 - 위키백과, 우리 모두의 백과사전

데이터 모델링 분야에서 개체-관계 모델이란 구조화된 데이터에 대한 일련의 표현이다. 서로 관계된 두 개의 엔티티 "구조"화된 데이터를 저장하기 위해 데이터베이스를 쓴다. 이 데이터의 "구

ko.wikipedia.org

 

개발자는 이 그림을 통해 DB가 어떻게 구성되어 있는지 혹은 어떻게 변경되었는지 한눈에 파악할 수 있다.

 

하지만 이 ERD가 프로젝트 시작시점이나 요구사항 분석때 그려진다면 좋겠지만 없는 경우도 있고 업데이트를 하지 않아 있어도 더이상 사용하지 못할 수준일 수 있다.

또한 토이프로젝트 등으로 작은 규모에서 ERD를 그리고 시작하기에는 공수가 너무 많이 든다.

 

이에 Mysql DB에서는 기존의 DB에서 MySQL Workbench란 프로그램을 사용하여 ERD를 쉽게 뽑아낼 수 있다.

 

 

2. MySQL Workbench에서 ERD 뽑아내기


MySQL Workbench는 DB Server Management 프로그램이다. 

 

성능에 대한 모니터링, 테이블 구조 변경, 신규 데이터베이스 생성 등을 할 수 있다.

 

그 중 하나의 기능으로 ERD를 뽑아내는 기능이 있는 것이다.

 

먼저 MySQL Workbench를 설치한다.

 

Mysql 설치시 디폴트 옵션으로 설치하면 이미 설치되어 있지만 그게 아니라면 홈페이지에서 다운로드 받아 MySQL Workbench를 따로 설치해 주어야 한다.

 

 

MySQL :: Download MySQL Workbench

Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended Download: Other Downloads: Windows (x86, 64-bit), M

dev.mysql.com

 

설치 후 MySQL Workbench를 실행한다.

 

"Database" -> "Reverse Engineer..." 메뉴를 선택한다.

 

 

 

 

 

그러면 아래와 같은 화면이 나온다.

 

 

 

연결할 DataBase가 있는 DB 정보들을 넣어준다.

 

- Hostname

- Port

- Username

- Password

 

 

여기서 로컬 환경의 DB나 개발환경 DB의 ERD를 가져오는 경우라면 대부분 SSL 설정이 되어 있지 않아 다음 스텝에서 에러를 만나게 된다.

 

이걸 방지하려면 Advanced 탭으로 이동하여 useSSL=0을 아래와 같이 입력해 준다.

 

 

 

그리고 Next 버튼을 누른다.

 

 

 

 

에러 없이 작업이 완료 된다.

Next를 누른다.

 

 

 

이제 ERD를 그릴 DataBase를 선택해 준다.

 

그리고 Next를 누른다.

 

 

 

작업이 정상적으로 완료되는 것을 볼 수 있다.

 

Next를 누른다.

 

 

이제 마지막 단계 이다.

 

Excute> 를 누른다.

 

 

 

Finish를 누른다.

 

 

 

 

위와 같이 ERD가 생성되는 것을 볼 수 있다.

 

토이 프로젝트나 PoC성 프로젝트를 하면 거의 DB를 MySQL로 많이 활용하는데 이것을 활용해서 ERD를 그리고 간다면 더 퀄리티 있는 프로젝트가 될 수 있을 것이다.

반응형