IntelliJ로 sql DB Dump 하기

Sangwoo Park·2022년 8월 12일
1

문제 원인

IntelliJ를 사용하며 MySQL 혹은 MariaDB를 연동하여 사용하고 있다가

Database를 Export & Import 하기 위해 Dump 를 생성해야 하는 상황이 생겼다.

IDE를 뒤적뒤적하며 이것저것 만져보았지만, Table Structure만 추출해주거나, Data만 추출해주는 기능은 있었지만 Structure, Data를 한번에 추출해주는 기능은 쉽게 찾을 수 없었다.

그래서 구글링하다가 IntelliJ 공식 문서를 찾아 본 결과, 자체 지원하는 Full Dump 기능은 없고 MySQL 의 native tool인 mysqldump를 이용하여 full data dump 를 만들 수 있다고 한다.

mysqldump.exe 는 MySQL 설치 경로를 들어가면 보이는 bin 폴더 안에 위치해 있다. MySQL 설치시 같이 설치된다.

Export (Dump)

연동되어있는 Database 탭에서 Schema 우클릭
Export with 'mysqldump' 클릭

클릭하면 아래와 같은 창이 뜨는데, 처음 사용한다면 Path to mysqlfump: 부분이 비어있고 빨간색으로 알림이 표시될 것이다.
여기에 mysqldump.exe를 지정해주면 된다.
mysqldump.exe 파일은 위에서 언급했듯, MySQL 설치 폴더의 bin 파일 안에 들어가면 찾을 수 있다.
나의 파일 경로를 참고하길 바란다.

(Windows)C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe

Mac(M1)의 경우 homebrew로 설치했다면 /opt/homebrew/Cellar/mysql/... 이하의 폴더에서 찾을 수 있을 것이다. 파일 브라우저에서는 opt 디렉토리를 찾는 방법을 몰라서 터미널에서 cp 명령어로 바탕화면에 복사해서 사용했는데, 정상작동하는것을 확인했다.

mysqldump 경로를 지정해주고 나서 기타 옵션들을 원하는대로 설정, Out path 및 파일 이름을 지정하고 하단의 Run 버튼을 눌러주면 Dump 파일이 생성된다.

"C:/Program Files/MySQL/MySQL Server 8.0/bin/mysqldump.exe" naratmal --result-file=C:\Users\sangwoo\desktop\naratmal_localhost-2022_08_12_21_57_08-dump.sql --user=root --host=127.0.0.1 --port=3306
mysqldump process finished

버튼을 누르면 터미널 창에 위와 같은 명령어가 실행될텐데, 읽어보면 그냥 DB Dump 하는 명령어다.
우리가 선택한 옵션들로 해당 명령어와 옵션들을 만들어 실행시켜주는 것이다.
실제로 저 명령어를 터미널에 입력해도 같은 결과를 얻을 수 있다.

Import

Dump된 .sql 파일을 import 하는 방법이다.

IntelliJ에 원하는 sql 파일을 드래그앤드롭 하면 파일이 열릴텐데, 우클릭해서 메뉴에서 Run '파일이름.sql' 를 클릭한다.

그러면 아래와 같은 팝업창이 뜨는데, Target data source / schema 를 선택 후 Run 버튼을 누르면 Import가 수행된다.

마치며

원래 mysql workbench를 사용했어서 dbdump도 워크벤치에서 수행했었다.
인텔리제이에서는 데이터만 추출하던가, DB 구조만 추출하는 방식으로만 사용했었다.
그런데 이번 학습을 계기로 워크벤치를 설치하지 않고 IntelliJ 안에서 거의 모든걸 다 해결할 수 있게 된 것 같다.

profile
going up

0개의 댓글