Mac에서 mysql dump하는 법

MJ·2024년 1월 17일

DBveaver에서 dump 시도하기

개발 DB와 상용 DB를 구분하기 위해 dump를 해야할 일이 생겼고, DBeaver의 기능을 통해 dump하기로 했다.

DBeaver에서 dump하는 예시 이미지

위의 이미지와 같이 Table 우클릭 > Tools > Dump database를 누르면 다음과 같은 창이 나온다.

MySQL dump
export할 데이터들이 맞는지 확인하고 Next를 누르면

Export Configuration에서 다음과 같이 나온다. 이때, DBeaver만 설치돼 있는 경우

native client is not specified for connection

가 발생한다.

Local Client에 사용할 Client를 지정해주면 해결된다.

Local Client 클릭시

Browse를 눌러 설치된 Client를 자동으로 탐색할 수도 있고, 만일 아무것도 깔려 있지 않다면 MySQL Community Server를 직접 설치해도 된다.

다 마치고 나서는 Start를 누르면 이제 dump 명령어가 실행된다.

까지만 해서 됐으면 게시글을 안썼다

필자는 Access denied for user 에러가 발생해서 결국 DBeaver에서 dump하는 것을 포기하고 mysql dump util을 사용했다.

mysqldump -h 호스트주소 -u 유저네임 -p --databases 데이터베이스 이름 > [추출할 파일명].sql

ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation 에러가 발생한다면 dump할 때 -set-gtid-purged=OFF 옵션을 주자. Mysql 서버에서 다른 Defineer가 지정된 sql 파일을 허용하지 않는다.

문제없이 깔끔하게 dump됐다.

import는요?

mysql -h 호스트주소 -u 유저네임 -p [데이터베이스 이름] < [파일명].sql

오히려 cli가 더 편하다.

편한 만큼 실수할 확률이 조금 더 있겠지만, DBeaver로 실행하는 것보다 cli가 더 편했다.
DBeaver에서 안된 이유는 root 계정 권한에 접근할 수 없어서 라는 게시글이 하나 있어 만일, DBeaver에서 dump를 해야 하는 상황이라면 https://wakestand.tistory.com/495를 참고해서 해결해보시길 바랍니다.

profile
침착한 프론트엔드 개발자

0개의 댓글