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은 다음 백업 형식을 지원합니다.
-
논리적 백업은
CREATE
또는INSERT
문을 생성하여.sql
파일에 데이터베이스 구조를 반환합니다. 나중에mysqldump
도구를 사용하여 이 파일을 복원할 수 있습니다.인덱스 없이 데이터만 백업하기 때문에 이 유형은 압축됩니다. 각 문장을 별도로 실행해야 한다는 사실 때문에 복구 옵션이 다른 문장보다 느립니다.
-
물리적 백업은 디스크에 저장된 것과 동일한 형식으로 데이터베이스 파일을 다시 인쇄합니다. 논리적 백업보다 빠르지만 동일한 데이터베이스 엔진에서 MySQL 서버로만 복원할 수 있습니다.
-
일관된 백업은 서버가 실행을 일시 중지하거나 잠긴 후에만 정확한 순간에 파일을 다시 인쇄합니다.
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
를 입력합니다.
이제 cmd가 열립니다.
MySQL bin
폴더는 다음 위치에 있습니다.
C:\Program Files\MySQL\MySQL Server 8.0\bin
bin
폴더에 액세스하려면 위에 표시된 경로를 입력하십시오.
사용 가능한 테이블을 확인하십시오.
백업을 저장할 폴더를 만듭니다.
이제 bin
폴더에 있습니다. 다음은 백업 쿼리입니다.
mysqldump --host=localhost --user=root --port=3306 -p customers employee > backup_single_table.sql
백업 스크립트는 employee
테이블에 대해서만 구조와 데이터를 출력합니다.
스크립트 데이터:
결론
기사에서는 MySQL 백업 옵션인 mysqldump
명령을 사용하는 방법에 대해 설명하고 단일 테이블을 백업하는 방법에 대한 예제를 제공했습니다.
MySQL Workbench 및 dbForge Studio for MySQL과 같은 다른 백업 생성 기술을 살펴볼 수도 있습니다. 또한 데이터베이스에서 데이터를 복원할 수 있는 다양한 접근 방식이 있습니다.
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.