728x90
AWS DB 덤프하는법 테이블, 데이터 추출하기
이번에 프리티어 종료되면서 새로운 EC2 인스턴스를 생성하고 RDS도 새로 생성했습니다.
그러면서 기존에 있던 DB 자료를 가져와야 하는데 저는 생각나는 방법이 테이블 CREATE문 만들기와 데이터 INERTS문 만들기가 생각났습니다.
Docker Compose를 만들어서 DB도 이미지를 빌드 하면 될 거 같은 생각은 드는데 다음에 해보려고 합니다.
그래서 AWS에서 mysqldump를 이용해서 테이블 구조와 데이터를 추출하는 방법을 정리해 보겠습니다.
1. 모든 테이블 구조 덤프
mysqldump -h [RDS-Endpoint] -u [사용자명] -p --no-data [DB명] > create_tables.sql
2. 모든 데이터 덤프
mysqldump -h [RDS-Endpoint] -u [사용자명] -p --no-create-info [DB명] > insert_data.sql
3. 모든 테이블과 데이터 덤프
mysqldump -h [RDS-Endpoint] -u [사용자명] -p [DB명] > full_dump.sql
SQL 파일을 local에 가져와서 열어보면 아래와 같이 생성됩니다.
CREATE TABLE `lucky` (
`lucky_id` bigint NOT NULL AUTO_INCREMENT,
`kakao_id` bigint NOT NULL,
`lucky_title` text,
`lucky_detail` text,
`updated_date` datetime(6) DEFAULT NULL,
`created_date` datetime(6) DEFAULT NULL,
PRIMARY KEY (`lucky_id`,`kakao_id`)
) ENGINE=InnoDB AUTO_INCREMENT=826 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
INSERT INTO `lucky` VALUES (815,3489316737,
'운세의 총운은 고진감래 입니다','뜻하지 않은 오해를 받을 수 있는 날입니다.
적극적으로 나서서 자신의 입장을 해명할 필요가 있습니다.
직설적으로 말하고 갈등의 소지는 빨리 푸는 것이 좋겠군요.
말하는 것이 두려워 상황을 피하려고만 한다면 그 오해는 영영 풀리지 않는 과제로 남을 수 있습니다.
당당함과 함께 자신의 의사를 정확하게 표현하는 태도를 가져야 할 필요성이 있습니다.
괜한 오해가 생기기 쉬운 시기이니 애초에 언행에 주의를 기울여 갈등의 여지를 없애는 것이
당신 얼굴에 웃음을 피어나게 합니다.')
일단 제가 생각한 방법은 이렇게 테이블과 데이터를 추출한 다음, 새로운 DB에 넣는 방법을 진행하였습니다. 이렇게 하니 데이터가 많은 것들을 집어넣을 때 오래 걸리더라구요.
제가 방법은 잘 모르지만 저 테이블과 데이터를 가지고 있는 파일 자체를 복사한 다음에 새로운 DB에 붙여 넣으면 훨씬 수월할 것으로 보입니다.
혹은 Docker Compose를 쓰면 수월할 거 같네요 ㅎㅎ
다음에는 Docker Compose를 사용해 보겠습니다.
감사합니다~
728x90
'IT > AWS' 카테고리의 다른 글
AWS 방화벽 포트 설정해도 접속 안될 때 (0) | 2024.10.31 |
---|---|
AWS EC2 MySQL 설치 (Amazon-Linux2023) (1) | 2024.10.24 |
AWS 프리티어 만료 후 계속 사용하는 법 (1) | 2024.10.19 |
AWS 서버 중단 시 커스텀 화면 보여주기 (1) | 2024.10.18 |
AWS EC2 Docker 용량 (1) | 2024.10.10 |