-
How can I dump Mysql/Maria database in intelliJ? / intelliJ에서 Mysql과 MariaDB의 dump를 뜰 수 있을까요?Backend/DB 2022. 6. 27. 07:59
IntelliJ에서 이런 것도 되는구나 싶어서, 신기하기도 하고 정말 편리해서 올려봅니다.
저 같은 경우에는 개발서버에 있는 Database를 그대로 복사해서 로컬에서 환경을 마련해 놓고,
로컬에서 query를 적용시켜본 뒤에 개발, 실제 서버에 반영해보고 싶다는 생각이 들어서
'어떻게 하면 db를 dump 할 수 있을까?'라는 생각을 하게 되었습니다.
결론적으로 제가 하고 싶었던 작업은
1. 개발서버의 mariaDB를 dump
2. 로컬 서버의 mariaDB에 restore
(엄밀히 이야기하면 restore이 아니라 sql execute가 될 것입니다.)
우선 이 기능을 사용하시기 위해서는 준비물이 필요합니다.
1. IntelliJ ultimate version
(저 같은 경우 2019, 2017년도 버전을 사용하고 있습니다. 가끔 최신 버전에서 원인 모를 Error가 나는 경우도 있고 2~3년 전을 사용하는 게 경험상 좋았던 것 같아서 아직까지는 옛날 버전을 유지하고 있습니다, 그리고 ultimate version이어야 합니다.)
2. mysqldump.exe
"mysqldump라는 프로그램이 있어?"라며 갸우뚱하실 수도 있는데요.
이 프로그램이 필요한 것은 맞습니다만 별도로 다운로드하는 곳이 있는 것이 아니고 Mysql community edition만 다운로드해 주셔도 이용에 전혀 무관합니다. 아래 주소를 참고해 주세요.
https://dev.mysql.com/downloads/file/?id=501136
MySQL :: Begin Your Download
The world's most popular open source database Contact MySQL | Login | Register
dev.mysql.com
가입하기 귀찮으신 분들은 해당 링크로 이동하셔서 빨간 네모를 클릭해 주세요
또한, MariaDB를 dump 하고 싶은 분들의 경우에는
"MariaDB를 dump 뜨는데 왜 mysqldump.exe를 이용해요?"라고 말씀 주실 수도 있는데요.
제가 실험해본 결과 아주 잘됩니다. 아마도 mariaDB를 만든 분들이, mysql을 만들었던 분들이셔서 그런 것 같습니다. 그래서 포스팅도 두 가지 DB를 하나로 묶어서 안내드린 것입니다.
관련해서 재미있는 포스팅이 있어서 링크 해놓을게요. 작성해 주신 개발자분 감사드려요. 문제시 삭제하겠습니다.
SQLite vs MySQL vs PostgreSQL : 관계형 데이터베이스 관리 시스템 비교 | 2019
SQLite vs MySQL vs PostgreSQL : 관계형 데이터베이스 관리 시스템 비교 원래 O.S.에서 DigitalOcean에 관한 Tezar의 기사 종종 SQL, SQLite, MySQL 또는 PostgreSQL과 관련된 용어와 혼동되어 유사한 용어의 의미가 무
ko.classicfoxvalley.com
우선 여기까지 준비되신 분은 아래와 같은 절차를 따라주시면 됩니다.
1. IntelliJ의 우측 Database에서 본인이 dump 하고자 하는 database를 우 클릭합니다.
그 후 Dump with 'mysqldump'라는 탭을 클릭합니다.
2. 그러면 아래와 같은 사진이 나오실 텐데요.
제가 가장 애먹었던 것은 빨간색 테두리로 표시해놓은 부분입니다.
MariaDB인데 mysqldump.exe를 사용해야 할지, Mysql에 있는 mysqldump.exe를 사용해야 할지 고민이 되었는데요. 결론적으로는 MariaDB 안의 mysqldump.exe를 사용해도 전혀 문제가 없었습니다.
위와 같이 mysqldump.exe의 경로 설정을 마치고, Tables에서 원하는 option을 선택한 뒤
Out path도 설정을 해주시면 해당 out path로 sql 파일이 만들어집니다.
이러면 dump는 끝이 났습니다.
1. 그 후 local에 dump 하고자 하는 db 이름과 같은 이름의 db를 생성합니다.
2. 해당 db 이름을 클릭한 후, 우 클릭합니다.
3. 그런 후, Run Sql script...를 클릭합니다.
4. 하단의 terminal에서 sql 실행이 완료된 것을 확인합니다.
5. 스키마 확인을 위해 우측에 새로 고침 버튼을 클릭합니다.
위 사진에서 가운데 쪽 똥글뱅이 버튼을 클릭하시면 새로 고침 됩니다.
6. 제대로 dump가 되었는지 스키마를 확인합니다.
PS1.
DataGrip 자체에 대한 사용법이 공홈에 잘 나와있어서 링크 첨부해두겠습니다.
기능 및 스크린샷 - DataGrip
www.jetbrains.com
PS2.
mysqldump 기능 자체에 대해서 잘 정리해놓으신 분의 블로그가 있어서 추천드립니다. 문제시 삭제하겠습니다.
https://www.lesstif.com/dbms/mysqldump-db-backup-load-17105804.html
mysqldump 사용법(db backup 및 load 하기)
컬럼명을 포함할 경우 primary key 가 auto increment 일 경우 아래 에러가 발생하고 insert 실패함. 이럴 경우 mysqldump 로는 방법이 없고 별도의 VIEW 를 만들고 view 를 export 하거나 SELECT INTO 구문을 사용해
www.lesstif.com
감사합니다.
'Backend > DB' 카테고리의 다른 글
The way change mairaDB password / MariaDB 패스워드 변경하기 (0) 2022.06.27 Meaning of unsigned keyword in database / unsigned 키워드의 의미 (0) 2022.06.27 IntelliJ의 Data editor를 사용하여 Table 구조 변경하기 / Modify table structure use IntelliJ idea (0) 2022.06.27 Mybatis에서 #{}와 ${}의 차이점에 대하여 (0) 2022.06.02