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

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

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

Export Configuration에서 다음과 같이 나온다. 이때, DBeaver만 설치돼 있는 경우
native client is not specified for connection
가 발생한다.
Local Client에 사용할 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됐다.
mysql -h 호스트주소 -u 유저네임 -p [데이터베이스 이름] < [파일명].sql
편한 만큼 실수할 확률이 조금 더 있겠지만, DBeaver로 실행하는 것보다 cli가 더 편했다.
DBeaver에서 안된 이유는 root 계정 권한에 접근할 수 없어서 라는 게시글이 하나 있어 만일, DBeaver에서 dump를 해야 하는 상황이라면 https://wakestand.tistory.com/495를 참고해서 해결해보시길 바랍니다.