[Synology Nas] WorkBench 사용해서 데이터 dump 시키는 방법

SEUNGJUN·2024년 3월 17일

SynologyNas

목록 보기
2/3
post-thumbnail

Synology Nas 서버에 MySQL을 설치하고 이전에 사용했던 RDMBS에 있던 DATA를 모두 옮겨야 하는 작업을 해야한다.

Dump

Dump라는 단어는 덤프 트럭이나 쓰레기 더미와 같은 생각이 들수가 있는데 말그대로 덤프 트럭채로 떠가지고 옮겨준다라고 생각하면 될것 같다. 다시 말해서 데이터베이스의 모든 구조와 데이터를 한 번에 가져오는 것이라고 생각 할수 있다.

1. 구조(Structure) Dump: 데이터베이스의 테이블, 인덱스, 제약 조건 등의 구조를 추출한다. 이는 데이터 베이스의 스키마를 정의하는 것과 같다.

2. 데이터(Data) Dump: 데이터베이스에 저장된 실제 데이터를 추출한다. 이는 테이블에 저장된 행(레코드)들을 포함한다.

Dump를 어떻게 떠야할지 고민하던중에 MySQL Workbench를 통해서 손쉽게 Dump를 뜰수 있는것을 알아 냈고 진행해 보았다.

MySQL Workbench: MySQL 데이터베이스를 관리하고 개발하기 위한 통합 개발 환경(IDE)이다.

1. 이전에 사용한던 RDBMS 서버에 접속을 한다.

2. 상단 탭에 Server에 Data Export를 선택한다.

3. Export할 테이블과 테이블안에 Dump할 schema를 선택해준다.

  • Export 된 Dump파일을 보관할 폴더를 선택하고 Start Export를 진행해 주면 된다.

4. 데이터가 성공적으로 dump 되었다.

보관된 폴더에 들어가 보면 sql Type의 Dump 파일이 존재하는 것을 볼수가 있다. 이제 덤프가된 파일을 다시 새로운 서버에 Import를 해주면 끝이 난다.

5. 새로운 MySQL에 접속.

6. 데이터베이스 스키마 생성

  • 기존에 운영하던 데이터베이스값을 적용해서 cattle_shed라는 데이터 베이스를 만들어 준다.

7. Data Import 선택

8. 덤프 파일이 들어있는 폴더선택.

  • 폴더를 선택하면 import할 schema를 선택할수가 있다. 현재 스키마가 하나밖에 없지만 여러개라면 필요한 것만 import할수 있다.

8. dump 완료

중간에 인덱스 크기 때문에 import가 안되는 에러가 있었는데 My SQL은 인덱스 열의 크기를 767바이트로 제한시킨다. 이유는 InnoDB 엔진에서 사용하는 B-tree 인데스 구조의 제한 때문인데 이 제한이 없으면 검색 속도에 영향을 미칠수 있어서 이다. 이러한 이유 때문에 전에 스키마를 구성할때 생각없이 인덱스의 크기를 full로 넣어 줬는데 각 컬럼마다 필요한 양만큼에 크기만 제공을 해주는게 가장 좋은 방법이다.

profile
RECORD DEVELOPER

0개의 댓글