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는 스키마와 데이터를 내보내고, 암호화 및 압축하며, 병렬 처리를 통해 여러 스레드를 사용합니다. 데이터베이스의 전체 백업을 생성하거나 여러 테이블을 내보내야 할 때마다 사용할 수 있습니다.

04/2024
Disaster Recovery for MySQL with FlashArray
Detailed guidance for choosing a data-protection and disaster-recovery solution for MySQL databases with Pure Storage FlashArray.
백서
24 페이지
연락처
질문하기

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

데모 예약

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

연락하기: +82 2 6001-3330

언론홍보팀:  pr@purestorage.com

 

퓨어스토리지코리아 주소

30F 아셈타워,

517 영동대로,

강남구, 서울

대한민국

korea@purestorage.com

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

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