이 작업을 수행하는 것에 대해 이야기하는 여러 사이트를 찾았지만 중요한 세부 정보가 누락되었습니다. 일반적인 단계는
- 운영
FLUSH TABLES WITH READ LOCK
- ZFS 스냅 샷 생성
- 운영
UNLOCK TABLES
다양한 소스에서 내가 사용하는 InnoDB가 실제로을 존중하지 않는다고보고합니다 FLUSH
. MySQL 사용자 매뉴얼에는 FLUSH TABLES...FOR EXPORT
InnoDB와 함께 사용할 수 있는 변형이 있지만 전체 데이터베이스를 백업하는 대신 각 테이블을 개별적으로 지정해야합니다. 테이블 목록이 실제로 존재하는 테이블과 동기화되지 않을 가능성이 높기 때문에 각 테이블을 개별적으로 지정하지 않는 것이 좋습니다.
내가 가진 다른 문제는 다음과 같은 일을 할 계획 mysql -h"$HOST" -u"$USERNAME" -p"$PASSWORD" --execute="FLUSH TABLES WITH READ LOCK"
입니다. 그러나 세션 종료 후 즉시 잠금이 해제됩니다. 이것은 의미가 있지만 스냅 샷을 찍을 때 읽기 잠금을 잡아야하기 때문에 상당히 성가시다.
또 다른 아이디어는 Percona XtraBackup과 같은 도구를 사용하고 백업 스냅 샷을 생성하는 핫 백업을 수행하는 것이지만 스냅 샷을 위해 모든 데이터를 다른 위치에 쓰는 데 드는 비용을 지불하지 않는 것이 좋습니다.