>데이터 베이스 >MySQL 튜토리얼 >내 프로덕션 데이터의 비차단 데이터베이스 덤프를 어떻게 수행할 수 있습니까?

내 프로덕션 데이터의 비차단 데이터베이스 덤프를 어떻게 수행할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-07 10:07:17940검색

How Can I Perform a Non-Blocking Database Dump of My Production Data?

프로덕션 데이터를 위한 비차단 데이터베이스 덤핑

라이브 프로덕션 데이터를 로컬 개발 환경에 복사하는 것은 테스트 및 문제 해결에 매우 중요할 수 있습니다. 그러나 mysqldump를 사용하는 기존 접근 방식은 테이블을 잠가서 지속적인 생산 작업을 방해할 수 있습니다.

초기 시도 및 발생한 문제

처음에는 다음 명령을 사용하여 시도했습니다.

mysqldump -u root --password=xxx -h xxx my_db1 | mysql -u root --password=xxx -h localhost my_db1

안타깝게도 이 방법으로 인해 덤핑 내내 테이블 잠금이 발생했습니다.

잠금 문제 해결

잠금 문제를 해결하기 위해 몇 가지 옵션을 탐색했습니다.

  • -- lock-tables=false 옵션: Innodb 테이블은 이 옵션을 지원하지 않으므로 이에 적합하지 않습니다. 시나리오.
  • --single-transaction 옵션: Innodb 데이터베이스의 경우 이 옵션은 테이블 잠금을 효과적으로 방지할 수 있습니다.
mysqldump --single-transaction=TRUE -u username -p DB

이 명령은 덤프를 실행합니다. 테이블 잠금이 필요 없이 단일 트랜잭션으로 처리됩니다.

위 내용은 내 프로덕션 데이터의 비차단 데이터베이스 덤프를 어떻게 수행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.