14.13.15 체크섬의 고속화를위한 CRC32 체크섬 알고리즘의 사용
MySQL 5.6.3에서 도입 된 CRC32 체크섬 알고리즘은 블록을 한 번에 32 비트 스캔합니다. 이것은 블록을 한 번에 8 비트 스캔 InnoDB
체크섬 알고리즘에 대한 개선입니다. CRC32 체크섬 알고리즘은 innodb_checksum_algorithm=crc32
을 설정하여 사용 할 수 있습니다.
마찬가지로 MySQL 5.6.3에서 도입 된 innodb_checksum_algorithm
구성 매개 변수는 innodb_checksums
구성 매개 변수를 대체합니다. 자세한 내용은 innodb_checksum_algorithm
문서를 참조하십시오.
CRC32 알고리즘이 활성화되어 있다면, InnoDB
에 의해 디스크에 기록 된 데이터 블록의 체크섬 필드는 이전과는 다른 값이 포함되어 있습니다. 테이블 스페이스 내의 블록이 CRC32 체크섬 알고리즘을 사용하도록 수정 된 후 연결된 테이블을 이전 버전의 MySQL에서 읽을 수 없습니다.
새로운 MySQL 인스턴스를 구성 할 때 모든 InnoDB
데이터가 CRC32 체크섬 알고리즘을 사용하여 작성되는 경우 innodb_checksum_algorithm=strict_crc32
설정을 사용할 수 있습니다. 이것은 이전 값과 새 값 모두를 지원하기위한 여분의 체크섬 계산을 수행하지 않기 때문에 crc32
설정보다 빠르다 수 있습니다.
innodb_checksum_algorithm
의 기본값은 MySQL 5.6.6에서 innodb
에서 crc32
변경되었지만 이전의 MySQL 버전으로 다운 그레이드중인 InnoDB
데이터 파일의 호환성 향상을 위해, 그리고 MySQL Enterprise Backup 에서 사용하기 위해 5.6 .7에서 innodb
로 리턴되었습니다. 검출 된 제한에는 다음이 포함됩니다.
CRC32 체크섬을 포함
.ibd
파일은 5.6.3 이전의 MySQL 버전으로 다운 그레이드하는 동안 문제가 발생할 수 있습니다. MySQL 5.6.3 이후에는 디스크에서 블록을 읽을 때 해당 블록의 새로운 체크섬 값과 이전 체크섬 값을 모두 올바른 인식합니다. 이에 따라 알고리즘의 설정에 관계없이 업그레이드 및 다운 그레이드 중에 데이터 블록의 호환성을 보장합니다. 새로운 체크섬 값으로 기록 된 데이터가 5.6.3 이전 수준의 MySQL에 의해 처리 된 경우 손상된 것처럼보고 될 수 있습니다.3.8.0 이전 버전의 MySQL Enterprise Backup 은 CRC32 체크섬을 사용하는 테이블 스페이스의 백업을 지원하지 않습니다. MySQL Enterprise Backup 은 CRC32 체크섬 지원을 3.8.1에서 (일부 제한 사항) 추가하고 있습니다. 자세한 내용은 MySQL Enterprise Backup 3.8.1의 변경 내용을 참조하십시오.