Skip to Content

mysqlpump란?

mysqlpump란?

mysqlpump 유틸리티는 MySQL 5.7과 함께 도입되었으며 이전 버전에서 사용할 수 있는 이전 mysqldump 유틸리티의 더 빠른 대안입니다. mysqldump와 유사한 기능을 가지고 있지만, mysqlpump 유틸리티는 이전 mysqldump 유틸리티에서 사용할 수 없는 병렬 처리를 사용하여 대규모 데이터베이스를 백업하는 데 사용됩니다. 전체 데이터베이스 또는 일부 일부 개체만 백업할 수 있습니다.

mysqlpump란?

MySQL 5.7에 도입된 mysqlpump는 원본 데이터베이스 개체를 복원하기 위해 실행할 수 있는 SQL 문 세트가 생성되는 논리적 백업을 수행하는 클라이언트 유틸리티입니다. 병렬 처리 및 멀티스레딩 지원을 통해 mysqldump에서 느린 백업 문제를 해결합니다. 일부 데이터베이스에는 테라바이트의 데이터가 포함되어 있기 때문에 데이터를 간단한 텍스트 파일로 내보내는 데 너무 오래 걸릴 수 있습니다. mysqlpump 유틸리티는 여러 스레드를 병렬로 사용하여 데이터를 텍스트 파일로 훨씬 더 빠르게 전송합니다. 몇 년 전에 도입되었기 때문에, MySQL 데이터베이스 개발자는 최근 몇 년 동안 보다 안정적인 mysqlpump 유틸리티를 제공하고 더 많은 옵션을 제공하기 위해 개선했습니다. mysqlpump 유틸리티는 속도가 더 빠르지만 mysqldump에서 모든 옵션을 사용할 수 있는 것은 아니므로 관리자가 MySQL 데이터베이스와 데이터를 빠르게 내보내야 하는 경우에만 사용됩니다.

mysqlpump 설치 방법

MySQL 5.7 이상이 설치되어 있는 경우, 이미 mysqlpump에 액세스할 수 있습니다. 유틸리티는 MySQL 데이터베이스 엔진과 함께 제공되므로 설치가 필요하지 않습니다. 이전 버전의 MySQL이 있는 경우, mysqlpump를 사용할 수 없지만 mysqldump이 대안입니다.

Windows에서 MySQL을 사용하든 Linux에서 MySQL 데이터베이스 엔진에서 mysqlpump 유틸리티를 사용할 수 있습니다. Windows 또는 Linux에서 명령줄 유틸리티를 열고 다양한 매개변수 옵션으로 “mysqlpump”를 입력하여 유틸리티가 데이터를 내보내는 방식을 사용자 정의할 수 있습니다.

mysqlpump의 기본 용도 및 예시

서버에 MySQL이 설치되어 있으면 명령줄에서 mysqlpump에 액세스할 수 있습니다. Windows 또는 Linux에서 명령줄을 열면 다음 명령을 사용하여 데이터베이스 스키마를 내보낼 수 있습니다.

mysqlpump --all-databases --user=root --password > full_backup.sql

위의 명령은 모든 데이터베이스 스키마를 full_backup.sql 파일로 내보냅니다. 사용하는 사용자 이름과 암호는 내보내려는 데이터베이스에 액세스할 수 있어야 하므로, mysqlpump 유틸리티를 사용할 때는 높은 권한의 계정이 있어야 합니다.

MySQL 에 이미 인증된 경우, 사용자 이름과 암호를 지정하지 않고 데이터베이스 스키마를 덤프할 수도 있습니다.

mysqlpump --all-databases > full_backup.sql

단일 데이터베이스를 덤프하려면 다음 명령을 사용할 수 있습니다.

mysqlpump myDB

위의 명령은 데이터베이스 스키마와 해당 데이터를 myDB로 내보냅니다. 각 데이터베이스 이름을 공백 문자로 구분하여 여러 데이터베이스를 내보낼 수 있습니다.

관리자는 데이터베이스 내에서 특정 테이블만 내보내려고 할 수 있습니다. mysqlpump로 테이블 데이터 덤핑은 다음 명령을 사용하여 수행할 수 있습니다.

mysqlpump myDB Customer Order

위의 예에서 mysqlpump 문은 myDB 데이터베이스에서 고객 및 주문 테이블을 내보냅니다. 테이블 이름은 공백 문자로 구분됩니다.

엔터프라이즈 관리자는 차등 및 증분 백업을 통해 매번 전체 백업을 수행하지 않습니다. 차등 백업에는 마지막 전체 백업 이후 변경된 모든 데이터가 포함됩니다. 증분 백업은 마지막 백업 이후 변경된 모든 데이터를 증분 또는 전체로 저장합니다. 이 두 가지 백업 유형은 mysqlpump에서는 가능하지 않으므로, 유틸리티는 데이터베이스와 해당 객체의 전체 또는 부분 백업에만 사용할 수 있습니다.

mysqlpump의 고급 사용

mysqlpump 유틸리티는 고급 사용을 위한 몇 가지 옵션을 제공합니다. 첫 번째는 압축 출력입니다. 대규모 데이터베이스의 경우, 압축된 출력을 사용하면 백업 파일을 저장하는 데 필요한 드라이브 용량이 줄어듭니다. 특히 한 달 동안 전체 백업을 위해 여러 개의 대용량 파일이 저장되는 엔터프라이즈 환경에서 유용합니다.

mysqlpump를 사용할 때는 압축 알고리즘을 지정해야 합니다. 주로 속도에 사용되는 LZ4를 사용할 수 있습니다. zlib 알고리즘은 gzip 또는 zlib 래퍼를 사용하는 관리자들에게 더 인기가 있습니다. 이 예에서는 gzip 파일을 출력하는 데 zlib 알고리즘이 사용됩니다.

mysqlpump --compress --compress-output=zlib myDB > myDB_compressed.sql.gzip

규정을 준수하려면 저장된 백업을 암호화해야 합니다. 드라이브에 저장된 미사용 데이터는 민감한 개인식별정보(PII), 재무 데이터 또는 규정 준수에 해당하는 모든 데이터인 경우 암호화해야 합니다. 이 예에서는 mysqlpump 명령이 파이프로 연결되고 OpenSSL을 사용하여 암호화된 출력을 생성합니다.

mysqlpump --all-databases | openssl  enc -aes-256-cbc -k yourpassword > backup.xb.enc

mysqlpump의 한 가지 장점은 테이블과 데이터베이스를 병렬로 덤프할 수 있다는 점입니다. 즉, 여러 컴퓨터 프로세스를 사용하여 데이터를 내보낼 수 있습니다. 병렬 덤프는 각 객체가 하나씩 완료되기를 기다리는 대신 동시에 발생하는 여러 내보내기라고 생각하세요. 병렬 처리를 통해 관리자는 백업 절차를 가속화할 수 있습니다.

mysqlpump와 병렬 처리를 사용하려면 내보내기 중에 사용할 스레드 수를 정의해야 합니다. 기본값은 2이지만 더 자세히 정의할 수 있습니다. 다음 문은 4개의 스레드를 사용하여 myDB 데이터베이스에서 고객 및 주문이라는 두 개의 테이블을 내보냅니다.

Mysqlpump -default-parallelism=4 myDB Customer Order > full_backup.sql

mysqlpump vs. mysqldump

mysqlpump의 병렬 처리 옵션은 mysqldump에서 사용할 수 없으므로 관리자는 mysqlpump를 통해 더 빠른 백업 속도를 얻을 수 있습니다. mysqlpump의 장점은 대규모 엔터프라이즈 환경에서 더 빠른 백업이 가능하다는 점입니다. 백업을 수행하는 데 몇 분이 걸리는 대신, mysqlpump의 병렬 처리는 데이터 백업에 걸리는 시간을 몇 분으로 줄일 수 있습니다.

mysqldump의 모든 옵션을 최신 mysqlpump에서 사용할 수 있는 것은 아니며, 사용하려면 MySQL 5.7 이상이 설치되어 있어야 합니다. 가져오기는 병렬 처리를 사용하지 않으므로 데이터를 가져오는 속도의 이점을 누릴 수 없습니다. 관리자는 데이터 가져오기를 위해 대체 유틸리티를 사용할 수 있습니다.

결론

백업은 데이터베이스 관리의 필수적인 부분이며, mysqlpump 유틸리티는 프로세스를 훨씬 더 빠르게 만듭니다. 전체 데이터베이스 또는 데이터베이스의 일부 개체를 빠르게 백업하기 위해 mysqlpump는 스키마와 데이터를 내보내고, 암호화 및 압축하며, 병렬 처리를 통해 여러 스레드를 사용합니다. 데이터베이스의 전체 백업을 생성하거나 여러 테이블을 내보내야 할 때마다 사용할 수 있습니다.

11/2024
Pure Storage Cloud for Azure VMware Solution
Shrink your Azure VMware costs with Pure Storage Cloud, a suite of enterprise-grade data services by Pure Storage.
솔루션 브리프
4 페이지
연락처
질문하기

퓨어스토리지 제품이나 인증 관련 질문이나 코멘트가 있으신가요?   저희가 도와드립니다.

데모 예약

라이브 데모를 예약하고 퓨어스토리지가 데이터를 어떻게 강력한 결과로 전환해주는지 직접 확인해 보세요. 

연락하기: +82 2 6001-3330

언론홍보팀:  pr@purestorage.com

 

퓨어스토리지코리아 주소

30F 아셈타워,

517 영동대로,

강남구, 서울

대한민국

korea@purestorage.com

닫기
지원하지 않는 브라우저입니다.

오래된 브라우저는 보안상 위험을 초래할 수 있습니다. 최상의 경험을 위해서는 다음과 같은 최신 브라우저로 업데이트하세요.