MariaDB-백업 방법
데이터는 비즈니스 및 운영의 토대 역할을하며 다양한 위협 (예 : 공격자, 시스템 장애, 불량 업그레이드 및 유지 관리 오류)과 함께 백업이 여전히 중요합니다. 이러한 백업은 다양한 형태를 취하며 해당 프로세스 내에서 훨씬 더 광범위한 옵션 세트를 사용하여 생성 할 수있는 많은 옵션이 있습니다. 기억해야 할 중요한 사항은 데이터베이스 유형, 중요한 정보 및 관련된 구조입니다. 이 정보는 최선의 선택을 결정합니다.
옵션
백업의 기본 옵션에는 논리적 백업과 물리적 백업이 포함됩니다. 논리 백업은 데이터 복원을위한 SQL 문을 보유합니다. 물리적 백업에는 데이터 사본이 포함됩니다.
Logical backups동일한 머신 및 데이터베이스 유형으로 제한되는 물리적 백업과 달리 구성이 다른 다른 머신에서 데이터를 복원 할 수있는 유연성을 제공합니다. 논리적 백업은 데이터베이스 및 테이블 수준에서 발생하고 물리적 백업은 디렉터리 및 파일 수준에서 발생합니다.
Physical backups논리보다 크기가 작으며 수행 및 복원에 시간이 덜 걸립니다. 물리적 백업에는 로그 및 구성 파일도 포함되지만 논리적 백업에는 포함되지 않습니다.
백업 도구
MariaDB 백업에 사용되는 주요 도구는 다음과 같습니다. mysqldump. 논리적 백업과 유연성을 제공합니다. 또한 소규모 데이터베이스를위한 훌륭한 옵션임을 입증합니다.Mysqldump데이터를 SQL, CSV, XML 및 기타 여러 형식으로 덤프합니다. 출력은 명시 적 지시없이 저장 프로 시저, 뷰 및 이벤트를 유지하지 않습니다.
세 가지 옵션이 있습니다. mysqldump 백업-
Raw data − 파일의 대상을 지정하는 --tab 옵션을 통해 테이블을 원시 데이터 파일로 덤프 −
$ mysqldump -u root -p --no-create-info \
--tab=/tmp PRODUCTS products_tbl
Data/Definitions export−이 옵션을 사용하면 단일 또는 여러 테이블을 파일로 내보낼 수 있으며 호스트 머신에있는 모든 기존 데이터베이스 백업을 지원합니다. 내용 또는 정의를 파일로 내보내는 예를 검토합니다.
$ mysqldump -u root -p PRODUCTS products_tbl > export_file.txt
Transfer − 데이터베이스와 테이블을 다른 호스트에 출력 할 수도 있습니다.
$ mysqldump -u root -p database_name \
| mysql -h other-host.com database_name
SELECT ... INTO OUTFILE 문 사용
데이터 내보내기를위한 또 다른 옵션은 SELECT ... INTO OUTFILE 문을 사용합니다. 이 간단한 옵션은 표를 간단한 형식의 텍스트 파일로 출력합니다.
mysql> SELECT * FROM products_tbl
-> INTO OUTFILE '/tmp/products.txt';
해당 속성을 사용하면 파일을 원하는 사양으로 포맷 할 수 있습니다.
이 진술의 다음 특성에 유의하십시오-
파일 이름은 원하는 출력 위치를 지정해야합니다.
명령문을 실행하려면 MariaDB 파일 권한이 필요합니다.
출력 파일 이름은 고유해야합니다.
호스트에 대한 로그인 자격 증명이 필요합니다.
UNIX 환경에서 출력 파일은 누구나 읽을 수 있지만 서버 소유권은 파일 삭제 기능에 영향을줍니다. 권한이 있는지 확인하십시오.
백업에서 CONNECT 사용
CONNECT 핸들러는 데이터 내보내기를 허용합니다. 이것은 SELECT ... INTO OUTFILE 작업이 파일 형식을 지원하지 않는 상황에서 주로 유용합니다.
다음 예를 검토하십시오-
create table products
engine = CONNECT table_type = XML file_name = 'products.htm' header = yes
option_list = 'name = TABLE,coltype = HTML,attribute = border = 1;cellpadding = 5'
select plugin_name handler, plugin_version version, plugin_author
author, plugin_description description, plugin_maturity maturity
from information_schema.plugins where plugin_type = 'STORAGE ENGINE';
기타 도구
백업을위한 다른 옵션은 다음과 같습니다.
XtraBackup−이 옵션은 XtraDB / InnoDB 데이터베이스를 대상으로하며 모든 스토리지 엔진에서 작동합니다. Percona의 공식 사이트에서이 도구에 대해 자세히 알아보십시오.
Snapshots− 일부 파일 시스템은 스냅 샷을 허용합니다. 이 프로세스는 읽기 잠금으로 테이블 플러시, 스냅 샷 마운트, 테이블 잠금 해제, 스냅 샷 복사 및 스냅 샷 마운트 해제로 구성됩니다.
LVM−이 인기있는 방법은 Perl 스크립트를 사용합니다. 모든 테이블에서 읽기 잠금을 얻고 캐시를 디스크로 플러시합니다. 그런 다음 스냅 샷을 얻고 테이블의 잠금을 해제합니다. 공식 상담mylvmbackup 자세한 내용은 웹 사이트를 참조하십시오.
TokuBackup− Percona에서 제공하는이 솔루션은 InnoDB 백업 옵션의 문제점과 한계를 고려하여 핫 백업을 제공합니다. 응용 프로그램이 파일을 계속 조작하는 동안 파일의 트랜잭션 사운드 복사본을 생성합니다. 자세한 내용은 Percona 웹 사이트를 참조하십시오.
INNODB 고려 사항
InnoDB는 성능 향상을 위해 버퍼 풀을 사용합니다. 백업에서 논리적 백업은 일반적으로 전체 테이블 스캔을 수행하므로 전체 테이블이 버퍼 풀에 복사되지 않도록 InnoDB를 구성하십시오.