찾다

 >  Q&A  >  본문

mysql 마스터-슬레이브 및 슬레이브 데이터베이스 잠금 테이블이 복제 차단을 유발합니까?

Mysql은 마스터와 슬레이브로 구성되어 있으며 슬레이브 데이터베이스는 느린 명령문을 쿼리하는 데 사용됩니다. 쿼리 중에 테이블이 잠겨 있으면 마스터 데이터베이스가 항상 복사합니까? 아니면 느린 쿼리가 완료될 때까지 기다렸다가 복사합니까?

淡淡烟草味淡淡烟草味2716일 전1266

모든 응답(3)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-06-22 11:56:33

    1. 마스터-슬레이브 동기화는 binlog를 통해 수행됩니다. 슬레이브 라이브러리에는 두 개의 스레드가 있는데, 하나는 binlog 로그 수신을 담당하고 다른 하나는 로그 구문 분석 및 라이브러리에 데이터 쓰기를 담당합니다. 따라서 마스터-슬레이브 동기화에는 일반적으로 일정한 지연이 있습니다.

    2. 읽기-쓰기 잠금 문제의 경우 쓰기 잠금은 배타적이며 읽기 잠금은 여러 번 얻을 수 있습니다. Innodb에서 잠금은 테이블 잠금, 행 잠금, 간격 잠금으로 구분됩니다. 삽입 작업에 테이블 잠금이 필요하고 쿼리가 테이블의 행을 잠그면 당연히 기다려야 합니다.

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-06-22 11:56:33

    질문을 다시 한번 잘 생각해 보시기 바랍니다.

    제가 이해한 질문에 따르면, 마스터 라이브러리가 슬레이브 라이브러리를 실시간으로 복제하고 있는 것이 확실합니까? 이 논리에는 문제가 있습니다.

    회신하다
    0
  • 高洛峰

    高洛峰2017-06-22 11:56:33

    오해의 소지가 있는 마스터-슬레이브 복제. 일반적으로 슬레이브 라이브러리는 복제 프로세스 이외의 쓰기 작업을 허용하지 않습니다. 물론, 수동으로 잠금을 제거해야 하는 경우 슬레이브 라이브러리의 쿼리 작업은 차단되지 않습니다. 메인 라이브러리는 슬레이브 라이브러리의 데이터를 잠긴 레코드와 동기화하고 슬레이브 라이브러리의 잠금을 기다리므로 슬레이브 라이브러리의 쓰기 작업은 관리자를 제외한 모든 작업을 엄격하게 제어해야 합니다.

    회신하다
    0
  • 취소회신하다