생활 가이드
MySQL PostgreSQL 백업 복구 명령어로 바로 하기
MySQL은 mysqldump로 백업하고 mysql 명령으로 복원하며, PostgreSQL은 pg_dump로 백업하고 psql이나 pg_restore로 복구합니다. 복원 전에 대상 데이터베이스를 먼저 만들어 두어야 하는 점이 가장 많이 놓치는 부분입니다.
이 글은 두 DBMS의 논리 백업(덤프)과 복원 명령, 전체 백업, 복구 전 확인할 점을 다룹니다. 물리 백업과 복제(레플리케이션) 구성은 다루지 않습니다.
아래 버튼에서 필요한 다음 단계를 확인하세요.
👉 DBMS 공식 홈페이지 바로가기👉 MySQL 접속 안됨 PostgreSQL 연결 오류 해결하기👉 MySQL 다운로드 설치 방법 윈도우 맥북1. MySQL 데이터베이스 하나를 백업합니다
MySQL 공식 매뉴얼의 기본 예시는 mysqldump db_name > backup-file.sql입니다. 테이블 이름을 붙이지 않으면 데이터베이스 전체가 SQL 파일로 저장됩니다.
mysqldump는 백업할 테이블에 대한 SELECT 권한 등이 필요하므로 권한이 있는 계정으로 실행하세요. 접속 정보는 -u(사용자), -p(비밀번호 입력), -h(호스트) 옵션으로 지정합니다.
| 목적 | MySQL 명령(공식 매뉴얼) |
|---|---|
| DB 하나 백업 | mysqldump db_name > backup-file.sql |
| 여러 DB 백업 | mysqldump --databases db1 db2 > backup.sql |
| 서버 전체 백업 | mysqldump --all-databases > all.sql |
| 복원 | mysql db_name < backup-file.sql |
2. MySQL 백업 파일을 복원합니다
복원은 mysql db_name < backup-file.sql로 합니다. 같은 파일을 MySQL 클라이언트 안에서 source 명령으로 불러올 수도 있습니다.
다른 서버로 옮길 때는 mysqldump 결과를 파이프로 원격 서버의 mysql에 바로 넘기는 방법도 매뉴얼에 나와 있습니다. 운영 중인 서버라면 복원 대상 DB 이름을 꼭 다시 확인하세요.
- 복원할 DB가 있는지 확인(없으면 CREATE DATABASE)
- 대상 DB 이름 재확인
- mysql db_name < backup-file.sql 실행
- 주요 테이블 행 수 비교
3. PostgreSQL 데이터베이스를 백업합니다
PostgreSQL 공식 문서의 기본 형태는 pg_dump dbname > dumpfile입니다. 이렇게 만든 파일은 SQL 텍스트입니다.
pg_dump -Fc mydb > db.dump처럼 custom 형식(-Fc)으로 만들면 압축되고, 복원할 때 필요한 부분만 고르거나 병렬로 복원할 수 있습니다. pg_dump는 일반 클라이언트 프로그램이라 DB에 접속할 수 있는 다른 컴퓨터에서도 실행할 수 있습니다.
| 목적 | PostgreSQL 명령(공식 문서) |
|---|---|
| SQL 텍스트 백업 | pg_dump mydb > db.sql |
| custom 형식 백업 | pg_dump -Fc mydb > db.dump |
| SQL 텍스트 복원 | psql -X -d newdb -f db.sql |
| custom 형식 복원 | pg_restore -d newdb db.dump |
4. PostgreSQL 백업을 복구합니다
SQL 텍스트 백업은 psql로 읽어 복구합니다. 이 명령은 데이터베이스를 만들어 주지 않으므로 createdb -T template0 dbname처럼 먼저 빈 DB를 만들어야 합니다.
custom이나 directory 형식 백업은 pg_restore로 복구합니다. 공식 문서는 psql을 기본 설정으로 실행하도록 -X 옵션을 함께 쓰라고 안내합니다.
- 빈 DB 생성: createdb -T template0 dbname
- 텍스트 백업: psql -X dbname < dumpfile
- custom 백업: pg_restore -d dbname db.dump
- 복구 후 주요 테이블 확인
5. 백업은 복구 테스트까지 해야 끝납니다
백업 파일이 있어도 실제로 복원되지 않으면 소용이 없습니다. 정기적으로 테스트용 DB에 복원해 보고 데이터가 맞는지 확인하세요.
백업 파일에는 실제 데이터가 그대로 들어 있습니다. 서버와 다른 저장소에 보관하고, 외부로 옮길 때는 접근 권한을 제한하세요.
- 정기 백업 일정 정하기
- 다른 저장소에 사본 보관
- 테스트 DB에 복원 연습
- 백업 파일 접근 권한 제한
실행 체크리스트
표시한 항목은 이 브라우저에만 저장되며 어디에도 전송하지 않습니다.
이 환경에서는 저장할 수 없어 이번 화면에서만 표시됩니다.
확인한 공식 자료
작성·점검일 2026-10-13. 각 DBMS 개발사 공식 사이트와 공식 문서를 바탕으로 정리한 편집 가이드입니다. 버전·설치 파일·라이선스 조건은 수시로 바뀌니 내려받기 전에 공식 페이지에서 다시 확인하세요.