IDE/datagrip

datagrip 으로 테이블 & 데이터 export, import 하는 법

소프 2022. 10. 28.

테스트한 환경

- 윈도우 10

- mysql이 설치되어 있어야 함(mysqldump.exe 사용)

 

목표

- DDL과 insert문 혹은 insert문만 dump 뜨는 법

 

export하는 방법

 

1. dump 뜰 스키마에서 오른쪽 마우스 클릭 후 빨간 박스 클릭

2. mysqldump 옵션

- Path to mysqldump: 로컬에 설치된 mysqldump.exe 설정

- Tables 옵션은 많이 있는데 이름 그대로 해석이 될꺼라 생략 ( 원하는 옵션이 체크박스에 없으면 mysqldump 옵션을 검색해서 네모박스에 수동으로 추가하면 된다)

  - Multiple rows inserts: insert를 한번에 해야 더빠르게 삽입 가능하다. 몇만 몇십만건은 단일 insert문으로 넣을려고 하면 시간이 오래 걸린다..

  - Disable keys: 외래키가 존재할 시 데이터 삽입시 외래키 조건 임시 해제, 각 테이블 마다 데이터 넣은 후 외래키 조건 다시 활성화

- Out path: 반드시 .sql 확장자 파일을 미리 만들어서 경로를 세팅해야 한다. 안그러면 에러가 난다.

- create문을 제외하고 데이터만 추출하고 싶다면 아래 네모박스에 `--no-create-info` 옵션을 추가하면 된다.

 

3. 결과

- mysqldump 명령어와 함께 끝났다는 문구도 같이 뜬다.

- .sql 파일을 확인하면 sql 스크립트가 정상적으로 확인이 된다

 

import하는 방법

데이터가 수만 수십만건인 데이터를 export한뒤에 노트패드 등으로 열려고 하면 렉이 조금 걸린다. 그래서 좀더 간편하게 하는 방법을 찾아서 기록한다.

 

1. import할 스크립트를 datagrip에 드래그앤 드롭한다. 아래처럼 datagrip에서 .sql이 보이면 된다.

 

2. datagrip 안의 .sql 화면 안에서 오른쪽 마우스 클릭 후에 Run 'OO.sql'을 클릭한다.

 

3. Target data source /schema '+'버튼을 눌러 import 대상이 되는 스키마를 선택한다. 

Run을 클릭하면 .sql에 정의된 스크립트기 해당 스키마에 실행 된다.

 

※ 외래키 활성 / 비활성화

- 스크립트 맨 위에 set foreign_key_checks=0; 를, 맨 아래에 set foreign_key_checks=1; 를 세팅하면 된다.

 

출처

https://abbo.tistory.com/320

 

댓글