[MariaDB] DUMP

이지연·2025년 11월 28일

개요

사실 DUMP 명령어는 SQL 명령어가 아니라 시스템 명령어다.
데이터베이스 파트에서 다루는 이유는 데이터베이스 구조와 데이터를 SQL 형식으로 추출해서 다른 DB로 그대로 복사해서 백업용도로 사용되는 명령어기때문에 DB 파트에서 정리함!


기본 개념

  • mysqldump : MySQL 스키마/데이터를 .sql 파일로 내보내는 백업 도구.
  • mysql : .sql 덤프 파일을 읽어서 스키마에 적용(복원)하는 클라이언트.
  • 둘 다 SQL 구문이 아니라 터미널/쉘에서 실행하는 명령어.

1. 스키마 단위 백업 (덤프 파일 생성)

mysqldump -u [사용자] -p [스키마명] > [덤프파일명.sql]

실행하면 password를 입력해야하고, root 비번 입력하면 끝.
board 스키마가 board_dump.sql로 백업됨.

이 때 파일 경로는 현재 디렉토리라 주의!

2. 스키마 단위 복원 (덤프 파일 적용)

CREATE DATABASE board;
mysql -u [사용자] -p [스키마명] < [덤프파일명.sql]
  • 스키마 미리 생성 안 하면 에러 뜸.
  • 덤프 파일은 같은 디렉토리에 있어야 하고, 비번 입력 후 복원 끝.

  • 실습을 통해 DUMP뜬 SQL 시트

인코딩 및 환경 관련 주의사항

  1. VSCode 저장 인코딩

    • VSCode에서 .sql 파일의 저장 인코딩을 UTF-8 로 설정할 것.
    • 잘못된 인코딩으로 저장하면 아래와 같은 에러가 발생할 수 있음:ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled ...
    • 저장 인코딩을 UTF-8 로 맞춘 뒤 다시 시도하면 문제 없이 덤프/복원 가능.
  2. 리다이렉션(<) 인식 문제

    • 일부 터미널/쉘에서 < 리다이렉션이 제대로 동작하지 않을 수 있음.
    • 이 경우 Git Bash나 다른 터미널에서 동일 명령을 실행하면 해결되는 경우가 많음.

  • vscode의 utf-8 설정 클릭 시 Save incoding 탭 선택 가능
  • save incoding 클릭 시 인코딩 설정 변경 가능

마치며

DB 백업은 mysqldump 치트시트 들고 다니자. 한 번 실수하면 데이터 영원히 바이바이임.

profile
Eazy하게

1개의 댓글

comment-user-thumbnail
2025년 12월 11일

제가 아는 덤프는 #photodump 에서 끝났습니다

답글 달기