Mysqldump를 사용하여 단일 테이블 백업

Migel Hewage Nimesha 2024년2월15일
  1. MySQL에서 테이블 생성
  2. mysqldump를 사용하여 MySQL에서 단일 테이블 백업
  3. 결론
Mysqldump를 사용하여 단일 테이블 백업

MySQL은 데이터베이스도 프로그래밍 언어도 아니지만 데이터베이스에서 데이터를 관리하고 구성하는 데 널리 사용되는 오픈 소스 도구입니다. 이 기사에서는 mysqldump, 그 용도 및 mysqldump를 사용하여 단일 테이블을 백업하는 방법을 예제와 함께 설명합니다.

MySQL에서 테이블 생성

단일 테이블을 백업하려면 먼저 테이블을 만들어야 합니다. MySQL에서 CREATE TABLE을 사용하여 간단한 테이블을 생성해 보겠습니다.

통사론:

CREATE TABLE table_name (
    column1 data_type,
    column2 data_type,
    .....
);

예를 살펴보겠습니다. 새 스키마에서 employee 테이블을 생성해 보겠습니다.

CREATE TABLE employee (
    EmployeeID int,
    FirstName varchar(255),
    LastName varchar(255),
    Address varchar(255),
    PhoneNumber int
);

테이블에 몇 가지 세부 정보를 삽입해 보겠습니다.

INSERT INTO employee (employeeID, FirstName, LastName, Address, PhoneNumber)
VALUES ('001', 'John', 'Andrew','London','4420112');

이 쿼리를 사용하여 위 코드의 출력 테이블을 볼 수 있습니다.

SELECT * FROM employee;

출력:

MySQL 테이블 만들기

MySQL에는 다양한 백업 유형이 있습니다. 사용하는 백업 기술은 변수, 데이터 크기, 장비, 성능 목표, 데이터베이스 스토리지 용량 등에 따라 다릅니다.

백업을 복원하는 데 걸리는 시간도 고려해야 합니다.

MySQL은 다음 백업 형식을 지원합니다.

  1. 논리적 백업은 CREATE 또는 INSERT 문을 생성하여 .sql 파일에 데이터베이스 구조를 반환합니다. 나중에 mysqldump 도구를 사용하여 이 파일을 복원할 수 있습니다.

    인덱스 없이 데이터만 백업하기 때문에 이 유형은 압축됩니다. 각 문장을 별도로 실행해야 한다는 사실 때문에 복구 옵션이 다른 문장보다 느립니다.

  2. 물리적 백업은 디스크에 저장된 것과 동일한 형식으로 데이터베이스 파일을 다시 인쇄합니다. 논리적 백업보다 빠르지만 동일한 데이터베이스 엔진에서 MySQL 서버로만 복원할 수 있습니다.

  3. 일관된 백업은 서버가 실행을 일시 중지하거나 잠긴 후에만 정확한 순간에 파일을 다시 인쇄합니다.

mysqldump를 사용하여 MySQL에서 단일 테이블 백업

백업은 데이터가 업데이트되거나 삭제되기 전에 원본 데이터를 저장할 수 있습니다. MySQL에는 데이터 크기, 데이터베이스 저장 용량 등에 따라 다양한 유형의 백업이 있습니다.

mysqldump는 MySQL 데이터베이스를 백업하는 데 사용되는 명령으로 MySQL 서버의 설치 디렉터리에 있습니다.

mysqldump 명령을 사용하여 단일 테이블을 백업하는 방법을 살펴보겠습니다. 5.0 이전의 MySQL 버전은 백업 테이블 개념을 사용했습니다.

통사론:

mysqldump -u [username] p [password] -h [host name] [database_name] [tablename] > [dumpfilename.sql]

위 구문에 대한 설명:

  • -u (--user = "username" ): MySQL에 연결된 사용자 이름입니다.
  • -p (--p): 사용자 이름의 비밀번호입니다.
  • -h(--host = ‘host name’): 덤프 데이터를 연결하기 위해 연결하려는 서버의 이름입니다.
  • database_name: 백업하려는 데이터베이스 이름입니다.
  • tablename: 백업하려는 테이블 이름입니다.
  • <: 이 기호는 데이터베이스 복원을 나타냅니다.
  • >: 이 기호는 백업 데이터베이스를 나타냅니다.
  • dumpfilename.sql: 데이터베이스 백업이 포함된 덤프 파일의 경로입니다.

데이터베이스에서 해당 테이블 하나만 백업하려는 경우 mysqldump 명령에 특정 테이블의 이름을 지정하십시오.

다른 데이터베이스의 특정 테이블을 예로 들어 보겠습니다. 여기에서는 mysqldump를 사용하여 백업을 수행합니다.

먼저 이 바로 가기 키를 사용하여 windows 키+R cmd를 시작합니다.

다음으로 아래와 같이 검색 옵션에 cmd를 입력합니다.

MySQL 단일 테이블 백업 - CMD

이제 cmd가 열립니다.

MySQL bin 폴더는 다음 위치에 있습니다.

C:\Program Files\MySQL\MySQL Server 8.0\bin

bin 폴더에 액세스하려면 위에 표시된 경로를 입력하십시오.

MySQL 단일 테이블 백업 - Bin 폴더

사용 가능한 테이블을 확인하십시오.

MySQL 단일 테이블 백업 - 테이블 확인

백업을 저장할 폴더를 만듭니다.

MySQL 단일 테이블 백업 - 폴더 생성

이제 bin 폴더에 있습니다. 다음은 백업 쿼리입니다.

mysqldump --host=localhost --user=root --port=3306 -p customers employee > backup_single_table.sql

MySQL 단일 테이블 백업 - 백업 쿼리

백업 스크립트는 employee 테이블에 대해서만 구조와 데이터를 출력합니다.

MySQL 단일 테이블 백업 - 백업 스크립트

스크립트 데이터:

MySQL 단일 테이블 백업 - 데이터 백업

결론

기사에서는 MySQL 백업 옵션인 mysqldump 명령을 사용하는 방법에 대해 설명하고 단일 테이블을 백업하는 방법에 대한 예제를 제공했습니다.

MySQL Workbench 및 dbForge Studio for MySQL과 같은 다른 백업 생성 기술을 살펴볼 수도 있습니다. 또한 데이터베이스에서 데이터를 복원할 수 있는 다양한 접근 방식이 있습니다.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

관련 문장 - MySQL Backup

관련 문장 - MySQL Table