DBeaver
DBeaver는 SQL 클라이언트이자 데이터베이스 관리 도구이다. 관계형 데이터베이스의 경우 JDBC API를 사용하여 JDBC 드라이버를 통해 데이터베이스와 통신한다. 그 밖의 데이터베이스(NoSQL)의 경우 사유 데이터베이스 드라이버를 사용한다. 자동 완성과 구문 강조를 지원하는 편집기를 제공한다. 이클립스 플러그인 구조 기반의 플러그인 아키텍처를 제공함으로써 애플리케이션 동작 중 상당수를 수정하여 데이터베이스에 특화된 기능이나 데이터베이스에 독립적인 기능들을 제공할 수 있게 한다. 이것은 자바로 작성된 데스크톱 애플리케이션이며 이클립스 플랫폼에 기반을 둔다.
DBeaver는 아파치 라이선스로 배포되는 자유 오픈 소스 소프트웨어이다.
How to install
데이터베이스 백업 방법
- Local client configuration - DBeaver Documentation
- Install MySQL/MariaDB local client for DBeaver on Debian/Ubuntu - LIBTECHNOPHILE
우선 로컬 클라이언트 설치가 필요함. (참고로 DBeaver 설치하면 mysqldump 가 포함되어있다. 만약 없다면 아래와 같이 진행... 또는 snap 권한문제일 수 있다)
mysql 의 경우:
MariaDB의 경우:
그리고 which 명령으로 확인한 후
이후 다음과 같이 진행.
- DBeaver 에서 백업하려는 테이블에서 오른버튼 클릭 하여 컨텍스트 메뉴 출력
-
Tools > Dump database를 클릭 - "MySQL Dump" 화면에서 "Local Client ..." 버튼 클릭
- 콤보 박스의 "Browse ..." 클릭
- "Add Home" 버튼 클릭
- 아까 확인한 mysqldump 위치의 디렉토리 위치를 입력
만약 snap 으로 설치했다면 권한 관련 이슈가 발생할 수 있다. 권한을 연결하거나 --classic으로 다시설치하면 된다.
완전히 동일한 데이터베이스로 부터 복원 방법
테이블 구조가 완벽히 동일한 "원본Table" 과 "대상Table" 이 있다면
"대상Table" 에서
에서 Table 을 선택하면 된다.
uid 까지 완벽히 복사된다.
Troubleshooting
Timeout 발생 시
- (DBeaver) Bigquery 연동 - Timeout 발생 시
연결 설정 (Connection settings) 에 들어가면 "Driver properties" 안에 Timeout 값을 조절할 수 있다.
Permission denied
dump 시작하면 다음과 같은 에러가 발생될 수 있다:
2025-05-21 11:14:27.396 - IO error: Cannot run program "/run/user/1000/doc/2891bed9/bin/mysqldump" (in directory "/run/user/1000/doc/2891bed9/bin"): error=13, Permission denied
2025-05-21 11:14:27.397 - java.io.IOException: Cannot run program "/run/user/1000/doc/2891bed9/bin/mysqldump" (in directory "/run/user/1000/doc/2891bed9/bin"): error=13, Permission denied
at java.base/java.lang.ProcessBuilder.start(Unknown Source)
at java.base/java.lang.ProcessBuilder.start(Unknown Source)
at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.executeProcess(AbstractNativeToolHandler.java:227)
at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.doExecute(AbstractNativeToolHandler.java:285)
at org.jkiss.dbeaver.ext.mysql.tasks.MySQLNativeToolHandler.doExecute(MySQLNativeToolHandler.java:47)
at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.lambda$0(AbstractNativeToolHandler.java:88)
at org.jkiss.dbeaver.runtime.RunnableContextDelegate.lambda$0(RunnableContextDelegate.java:39)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:124)
Caused by: java.io.IOException: error=13, Permission denied
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.<init>(Unknown Source)
at java.base/java.lang.ProcessImpl.start(Unknown Source)
... 8 more
/run/user/1000/doc/... 이렇게 보이는건 snap의 샌드박스 모드 실행으로 인한 권한 제한게 걸렸을 수 있다. 자세한 내용은 snap 참조.
이 경우 권한을 연결하거나 --classic으로 다시설치하면 된다.
See also
- Eclipse
- Entity–relationship model (ERD)
- Database
- Slashbase - DB 협업 개발용 웹 IDE 오픈소스
- Beekeeper Studio - 오픈소스 SQL 에디터 및 DB관리자
- DbGate - 오픈소스 크로스플랫폼 (no)SQL DB 클라이언트
- DBeaver - Eclipse 기반 DB 관리 도구
- Nao - 데이터를 위한 Cursor