python 기반 my sql 복사 도구 설명

간단 한 소개
python-mysql-replication 은 python 을 기반 으로 하 는 MySQL 복제 프로 토 콜 도구 입 니 다.binlog 로 그 를 가 져 오 는 insert,update,delete 등 이 벤트 를 분석 하고 이 를 바탕 으로 다른 업무 수 요 를 수행 할 수 있 습 니 다.예 를 들 어 데이터 변경 시 실효 캐 시,dml 이벤트 감청 은 하위 업무 자 에 게 대응 처 리 를 통지 합 니 다.
프로젝트 정보
실천
2.1 설치 설정
소스 코드 가 져 오기
git clone http://www.github.com/noplay/python-mysql-replication
pip 설치 사용pip install mysql-replication권한:복사 계 정 을 직접 사용 할 수도 있 고 다른 계 정 을 사용 할 수도 있 지만 이 계 정 은 반드시 SELECT,REPLICATION SLAVE,REPLICATION CLIENT 권한 을 사용 해 야 합 니 다.

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON . TO 'replicator'@'%' IDENTIFIED BY 'xxxxx';
데이터베이스 로그 와 관련 된 매개 변 수 는 다음 과 같 습 니 다.

log_bin=on ,binlog_format=row,binlog_row_image=FULL
2.2 핵심 클래스 소개python-mysql-replication의 입 구 는 클래스 BinLogStreamReader()입 니 다.이 도 구 를 사용 할 때 BinLogStreamReader()대상 stream 을 예화 해 야 합 니 다.BinLogStreamReader 는 ReportSlave 를 통 해 주 라 이브 러 리 에 slave 역할 로 등록 하여 MySQL 의 binlog 방송 을 받 아들 여야 합 니 다.관심 있 는 것 은 그 코드 의 구체 적 인 실현 을 연구 할 수 있다.
이 인 스 턴 스 는 binlog 의 각종 사건 을 분석 하 는 집합 을 제공 합 니 다.모든 사건 도 하나의 대상 입 니 다.
BinLogStreamReader()인 스 턴 스 를 초기 화 하 는 데 사용 할 인 자 는 다음 과 같 습 니 다.
2,3 어떻게 사용 하나 요?
가장 간단 한 용법 스 크 립 트 이름 pyreplica.py
두 개의 창 을 엽 니 다.한 창 은 실행 되 고 다른 창 은 my sql 을 사용 하여 데 이 터 를 기록 하거나 수정 합 니 다.python pyreplica.py출력 은 다음 과 같 습 니 다:
2.3 확장
이 도구 가 제공 하 는 로그 이벤트 분석 을 바탕 으로 우 리 는 많은 일 을 할 수 있 습 니 다.비교적 유명한 도구 인 binlog2sql 은 이 도 구 를 이용 하여 binlog 를 분석 하여 데이터 스크롤 백 을 할 수 있 습 니 다.mysql-replication.py스 크 립 트 실행 결 과 는 다음 그림 과 같 습 니 다.

binlog 를 분석 하 는 것 외 에 우 리 는 python-mysql-replication 로 데이터 전 체 를 증분 이전 할 수 있다.예 를 들 어 전체 라 이브 러 리 가 아 닌 큰 시계 만 옮 길 때 사용 할 수 있다.관심 있 는 친 구 는 대략적인 알고리즘 을 생각해 볼 수 있다.
총결산
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 python 기반 my sql 복사 도구 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!

좋은 웹페이지 즐겨찾기