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 |