백업을 완료하기 전에 다음 항목의 정보를 검토하십시오.
• |
MySQL Standard/Community 옵션을 사용하려면 다음 지침 및 정보를 검토하십시오.
사용자 환경에서 이름에 하이픈과 같은 특수 문자가 포함된 데이터베이스를 사용하는 경우 다음과 같은 제한 사항을 고려해야 합니다.
• |
데이터베이스 이름에 하이픈이 포함되어 있으면 MyISAM 백업 방법이 버전 4.2에 도입된 Mysqldump 옵션으로 설정되어 있는 경우 MyISAM 테이블이 백업됩니다. 그에 따라 백업 및 복원 성능에 부정적인 영향을 미칠 수 있습니다. |
• |
MyISAM 백업 방법이 기본 테이블 파일 잠금 및 복사 옵션을 사용하도록 설정되어 있고 데이터베이스 이름에 하이픈이 포함되어 있는 경우 MyISAM 테이블이 백업되지 않습니다. 플러그인이 MySQL 명령을 무시하고 테이블 파일을 직접 복제하려고 시도하므로 백업이 생성되지 않습니다. 이 플러그인은 테이블 파일을 찾을 수 없다는 오류 메시지를 기록한 다음 저장 집합을 생성하지 않고 백업 작업이 실패합니다. |
MySQL에서는 MIXED 바이너리 로깅 형식을 사용할 때 USE 문의 사용을 강제하지 않습니다. 그러므로 Quest의 권장 사항에 따라 모든 데이터베이스 사용자와 프로그램에서 수정된 테이블이 USE가 선택한 데이터베이스에 있도록 합니다. 또한 데이터베이스 간 업데이트가 실행되지 않도록 하는 것이 좋습니다. 이 지침이 사용자 환경에 적합하지 않을 경우 Quest에서는 MIXED 바이너리 로깅 형식을 사용하지 않는 것을 권장합니다.
MIXED 바이너리 로깅 형식을 사용하는 환경에서는 PIT 복구 중에 바이너리 로그 항목이 재생되는 것을 방해할 수 있습니다. 복구 중에 플러그인은 "‑‑database" 옵션과 함께 mysqlbinlog를 사용하여 복원 작업을 위해 선택한 데이터베이스와 관련된 항목만 재생할 수 있습니다. "--Database"를 사용하지 않으면 모든 항목이 재생되고 모든 데이터베이스에 영향을 미칩니다. MIXED 바이너리 로깅 형식을 사용하는 경우, "‑‑database" 옵션을 사용하는 mysqlbinlog가 전체 또는 일부 항목을 재생하지 못하도록 하는 방식으로 항목이 작성됩니다. 자세한 내용은 https://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog.html#option_mysqlbinlog_database 페이지를 참조하십시오.
MIXED 바이너리 로깅 형식이 "--database" 옵션과 함께 올바르게 작동하려면 데이터베이스에 대한 특정 업데이트의 트랜잭션이 모두 데이터베이스를 선택하는 USE 문에서 실행되어야 합니다.
증분 또는 차등 백업이 복원되지 않고 mysqlbinlog가 MySQL Server에서 현재 바이너리 로그를 적용하는 경우에도 이와 동일한 상황이 발생합니다. 이 상황은 바이너리 로그가 백업에 저장되는 방식 때문이 아니라 바이너리 로그가 기록되는 방식 때문에 발생합니다.
중요: 수정하는 테이블이 USE 문에 지정된 데이터베이스에 속하도록 하면 MySQL 명령 프롬프트를 통해 생성되는 트랜잭션에 적용됩니다. 또한 MySQL Server 데이터베이스와 상호 작용하는 스크립트, 프로그램 및 기타 응용 프로그램에 의해 생성되는 트랜잭션에도 적용됩니다. |
다음 예제에서는 MIXED가 복원 동작에 영향을 미치는 다양한 방법을 보여 줍니다.
• |
예 1: 이 예에서는 데이터 행이 my_database의 my_table에 삽입됩니다. USE 문이 없으므로, mysql 데이터베이스와 같이 사용 중인 데이터베이스가 기본 데이터베이스입니다. binlog_format이 MIXED로 설정되어 있으면 mysqlbinlog가 "‑-database my_database" 옵션을 바이너리 로그에 적용할 경우 다음 트랜잭션이 재생되지 않습니다. |
• |
예 2: 이 예에서는 데이터 행이 my_database의 my_table에 삽입됩니다. USE 문이 있지만 다른 데이터베이스를 지정합니다. 즉, my_database가 USE 문에서 선택되지 않습니다. binlog_format이 MIXED로 설정되어 있으면 mysqlbinlog가 "‑-database my_database" 옵션을 바이너리 로그에 적용할 경우 다음 트랜잭션이 재생되지 않습니다. |
• |
예 3: 이 예에서는 데이터 행이 my_database의 my_table에 삽입되고 USE 문에서 my_database가 선택됩니다. binlog_format이 MIXED로 설정되어 있으면 mysqlbinlog가 "‑-database my_database" 옵션을 바이너리 로그에 적용할 경우 다음 트랜잭션이 재생됩니다. |
• |
예 4: 이 예에는 두 개의 insert 쿼리가 있습니다. 첫 번째 insert는 USE 문에서 선택한 데이터베이스와 다른 my_database에 대해 수행됩니다. 두 번째 insert는 my_database를 선택하는 USE 문 범위에서 수행됩니다. binlog_format이 MIXED로 설정되어 있으면 my_database가 USE 문에 지정되어 있지 않으므로 첫 번째 insert가 재생되지 않지만, 두 번째 insert는 my_database가 USE 문에 지정되어 있으므로 재생됩니다. |
MySQL Enterprise Backup 옵션을 사용하려면 다음 지침 및 정보를 검토하십시오.
• |
MySQL 5.6 이상에서는 innodb_file_per_table 구성 옵션이 기본적으로 활성화됩니다. innodb_file_per_table 옵션이 비활성화된 상태로 생성된 InnoDB 테이블은 InnoDB 시스템 테이블스페이스에 저장되며 백업에서 생략될 수 없습니다. 테이블스페이스 외부에 InnoDB 테이블을 배치해야 하는 경우 innodb_file_per_table 옵션이 MySQL에서 활성화되어 있는 동안 생성합니다. 각각의 .ibd 파일에는 테이블이 1개인 데이터 및 인덱스만 포함되어 있습니다. |
MySQL 백업 전략을 정의할 때 다음 질문에 답하십시오.
• |
MySQL Standard/Community 또는 MySQL Enterprise Backup 옵션을 사용하기를 원하십니까? 두 가지 버전 모두 사용자 환경에 구축되어 있는 경우에도 플러그인과 함께 하나의 전략만 사용할 수 있습니다. MEB 기반 방법 또는 mysqldump 기반 방법을 사용하되 이 두 가지 조합을 함께 사용할 수는 없습니다. |
이러한 질문에 답변하면 이행해야 하는 백업의 유형 및 빈도를 정의하는 데 도움이 됩니다.
MySQL Standard/Community 옵션을 사용하는 경우 플러그인은 mysqldump를 사용하여 다음 유형의 백업을 제공합니다.
• |
• |
• |
각 MySQL 인스턴스에 대한 데이터 보호 요구 사항에 부합하는 적절한 백업 시퀀스를 선택하기 위한 첫 번째 단계는 바로 이러한 백업이 어떻게 다른지 이해하는 것입니다.
MySQL Standard/Community 옵션의 전체 백업에서 플러그인은 mysqldump 유틸리티를 사용하여 인스턴스에 포함된 모든 데이터베이스를 백업합니다. 전체 백업은 거의 모든 복원 시나리오에 대한 시작점을 제공하므로 모든 백업 전략의 기본이 됩니다. 플러그인을 사용하여 생성된 전체 백업은 전체 인스턴스, 개별 또는 여러 데이터베이스, 개별 또는 여러 테이블을 복원하는 데 사용할 수 있습니다.
전체 또는 증분 백업 이후에 바이너리 로그 삭제 옵션을 사용하면 전체 또는 증분 백업 이후에 바이너리 로그가 삭제됩니다. 이 옵션은 표준 MySQL Server 구성에서 플러그인을 사용할 때, MySQL 복제 활성화가 비활성화되어 있을 때, 특정 시점 복구 활성화가 활성화되어 있을 때 기본적으로 사용됩니다. 플러그인이 클러스터에 연결되면 비활성화됩니다. 플러그인 외부에서 바이너리 로그 삭제를 관리해야 합니다.
바이너리 로그 삭제... 옵션을 선택하지 않으면 플러그인이 해당 구성 파일에서 마지막 백업 로그를 추적하므로 사용자는 재량에 따라 수동으로 바이너리 로그를 삭제할 수 있습니다. 예를 들어 바이너리 로그를 슬레이브 인스턴스에 복제할 때까지 마스터 인스턴스에서 삭제하지 않으려는 MySQL 복제 환경을 사용하는 경우 바이너리 로그를 수동으로 제거해야 합니다.
MySQL 증분 백업의 경우 바이너리 로그를 활성화하는 "‑log-bin" 옵션을 사용하여 MySQL 인스턴스를 시작해야 합니다. 이 절차는 MySQL Server에서 바이너리 로그 활성화(Standard/Community 옵션 전용)에 설명되어 있습니다. 자세한 내용은 MySQL 참조 안내서의 바이너리 로그 섹션을 참조하십시오.
앞에서 설명한 대로, 전체 또는 증분 백업 이후에 바이너리 로그 삭제 옵션을 사용하면 전체 또는 증분 백업 이후에 바이너리 로그가 삭제됩니다. 이 옵션을 사용하지 않으면 플러그인이 해당 구성 파일에서 마지막 백업 로그를 추적하므로 사용자는 재량에 따라 수동으로 바이너리 로그를 삭제할 수 있습니다.
차등 백업은 마지막 전체 백업 또는 증분 백업 이후 생성된 트랜잭션 로그를 백업합니다. 그러나 백업 완료 시 바이너리 로그는 삭제되지 않습니다. 따라서 이후의 차등 백업은 크기와 기간이 늘어납니다. 이 유형의 각 백업에는 이전 차등 백업에 포함된 바이너리 로그와 이전 차등 백업 이후 생성된 바이너리 로그가 포함되므로 크기와 기간이 늘어납니다. 예를 들어 월요일부터 토요일까지 예약된 차등 백업과 함께 전체 백업을 일요일에 수행하는 경우 월요일의 차등 백업에는 일요일의 전체 백업 이후에 생성된 바이너리 로그가 포함됩니다. 또한 화요일의 차등 백업에는 월요일에 생성된 바이너리 로그와 화요일에 생성된 바이너리 로그가 포함됩니다. 수요일의 차등 백업에는 월요일, 화요일, 수요일의 바이너리 로그가 포함되는 식으로 작업이 진행됩니다.
차등 백업의 경우 바이너리 로그를 활성화하는 "‑log-bin" 옵션을 사용하여 MySQL 인스턴스를 시작해야 합니다. 이 절차는 MySQL Server에서 바이너리 로그 활성화(Standard/Community 옵션 전용)에 설명되어 있습니다. 자세한 내용은 MySQL 참조 안내서의 바이너리 로그 섹션을 참조하십시오.
특수한 용도로 백업을 수행해야 할 때도 있는데 이 경우 전체 데이터베이스에 대한 전반적인 백업 및 복원 절차에 영향을 주지 않아야 합니다. 예를 들어 백업이 테스트 환경의 소스일 수도 있고 복제 슬레이브 인스턴스에 대한 초기 동기화로 사용될 수도 있습니다. 개별 데이터베이스/테이블 복사 전용 백업은 이러한 특수 용도로 설계되었기 때문에 MySQL 환경을 "복사"할 수 있습니다. "복사 전용" 백업은 설정된 백업 시퀀스와 무관하며 전체, 증분 또는 차등 백업의 복구 성능에 영향을 주지 않습니다. 하지만 전체 백업의 대체 백업으로 사용할 수는 없습니다.
개별 데이터베이스/테이블 복사 전용 백업에 대해 설명된 것처럼, 전체 데이터베이스 복사본 백업 옵션은 선택한 MySQL 데이터베이스의 복사본(선택된 데이터베이스의 모든 해당 InnoDB 테이블 포함)을 생성하기 때문에 특수 용도로만 사용됩니다. "복사본" 백업은 설정된 백업 시퀀스와 무관하며 전체, 증분 또는 차등 백업의 복구 성능에 영향을 주지 않습니다. 하지만 전체 백업의 대체 백업으로 사용할 수는 없습니다.
MySQL Enterprise Backup 옵션의 경우, 플러그인이 선택된 모든 데이터베이스 개체에 대해 mysqlbackup 명령을 한 번 실행하여 전체, 증분 및 TTS 유형의 백업을 수행할 수 있습니다.
MySQL Enterprise Backup 옵션의 전체 백업에서 플러그인은 mysqlbackup 유틸리티 또는 해당 NetVault Backup 스크립트를 사용하여 인스턴스에 포함된 모든 선택된 데이터베이스 개체를 백업합니다. 전체 백업은 거의 모든 복원 시나리오에 대한 시작점을 제공하므로 모든 백업 전략의 기본이 됩니다. 플러그인을 사용하여 생성된 전체 백업은 전체 인스턴스, 개별 또는 여러 데이터베이스, 개별 또는 여러 테이블을 복원하는 데 사용할 수 있습니다.
TTS 백업을 수행하는 경우 플러그인이 전체 백업을 수행하고 "--use-tts" MySQL 옵션을 추가합니다.
TTS 백업을 생성하려는 경우 다음과 같은 제한 사항을 고려해야 합니다.
• |
innodb_file_per_table 옵션을 활성화한 상태에서 생성된 테이블만 백업에 포함됩니다. |
"--use-tts" 옵션 사용 시 제한 사항에 대한 자세한 내용은 https://dev.mysql.com/doc/mysql-enterprise-backup/4.0/en/backup-partial-options.html 페이지를 참조하십시오.
© ALL RIGHTS RESERVED. Conditions d’utilisation Confidentialité Cookie Preference Center