mysql binlog에서 데이터를 다른쪽으로 replication 하고 싶은 경우 아래 python 코드를 사용

 

 

1. 설치

   pip install mysql-replication

 

   mysql 서버에 연결할 계정에 아래 권한 부여

   grant replication slave, replication client, select on *.* to 'user'@'host';  

 

2. 제약조건

   1) geometry 타입은 지원되지 않음

   2) binlog_format은 가능한 row를 사용하며, binlog_row_image는 full를 사용

 

3. 동작 흐름

   mysql server <--> python mysql replication --> 타 연결 (cache,...)

   : mysql과 연결은 기존 replication 방식과 동일

 

4. 예제

  from pymysqlreplication import BinLogStreamReader

 

  mysql_settings = { 'host' : '127.0.0.1', 'port' : 3306, 'user' : 'root',  'passwd' : '' }

  stream = BinLogStreamReader(connection_settings = mysql_settings, server_id = 1, blocking = True)

 

  for binlogevent in stream:

      binlogevent.dump()

 

  stream.close()

'RDB > MySQL' 카테고리의 다른 글

mysql 제약사항 테이블 삭제  (0) 2020.02.17
mysql auto_increment 변경  (0) 2020.02.14
mariadb binlog format  (0) 2020.02.10
mariadb innodb buffer pool dump/load  (0) 2020.02.10
mariadb perfmance schema  (0) 2020.01.14

+ Recent posts