From e3532e1a42d3cce4e945f331720263d7adce0638 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Jul 2022 19:15:31 +0000 Subject: [PATCH 01/22] Bump lxml from 3.5.0 to 4.9.1 Bumps [lxml](https://github.com/lxml/lxml) from 3.5.0 to 4.9.1. - [Release notes](https://github.com/lxml/lxml/releases) - [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt) - [Commits](https://github.com/lxml/lxml/compare/lxml-3.5.0...lxml-4.9.1) --- updated-dependencies: - dependency-name: lxml dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index ded9589..9f734a1 100644 --- a/setup.py +++ b/setup.py @@ -15,7 +15,7 @@ 'mysql-replication==0.9', 'requests==2.9.1', 'PyYAML==3.11', - 'lxml==3.5.0', + 'lxml==4.9.1', 'future==0.15.2' ], entry_points={ From 8273ccea4b93aac14d8ab90dab80a31f70145f1f Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Wed, 13 Sep 2023 22:06:05 +0900 Subject: [PATCH 02/22] delete main source files that do not work --- es_sync/__init__.py | 520 -------------------------------------------- es_sync/sample.yaml | 51 ----- src/__init__.py | 437 ------------------------------------- src/sample.yaml | 45 ---- 4 files changed, 1053 deletions(-) delete mode 100644 es_sync/__init__.py delete mode 100644 es_sync/sample.yaml delete mode 100644 src/__init__.py delete mode 100644 src/sample.yaml diff --git a/es_sync/__init__.py b/es_sync/__init__.py deleted file mode 100644 index eb92e77..0000000 --- a/es_sync/__init__.py +++ /dev/null @@ -1,520 +0,0 @@ -from __future__ import print_function, unicode_literals -from future.builtins import str, range -import sys - -PY2 = sys.version_info[0] == 2 - -if PY2: - import os - DEVNULL = open(os.devnull, 'wb') -else: - from subprocess import DEVNULL - - -def encode_in_py2(s): - if PY2: - return s.encode('utf-8') - return s - -import os.path -import yaml -import signal -import requests -import subprocess -import json -import logging -import shlex -import datetime -import decimal -from lxml.etree import iterparse -from functools import reduce -from pymysqlreplication import BinLogStreamReader -from pymysqlreplication.row_event import DeleteRowsEvent, UpdateRowsEvent, WriteRowsEvent -from pymysqlreplication.event import RotateEvent, XidEvent - -__version__ = '0.4.2' - - -# The magic spell for removing invalid characters in xml stream. -REMOVE_INVALID_PIPE = r'tr -d "\00\01\02\03\04\05\06\07\10\13\14\16\17\20\21\22\23\24\25\26\27\30\31\32\33\34\35\36\37"' - -DEFAULT_BULKSIZE = 100 -DEFAULT_BINLOG_BULKSIZE = 1 - - -class ElasticSync(object): - table_structure = {} - log_file = None - log_pos = None - - @property - def is_binlog_sync(self): - rv = bool(self.log_file and self.log_pos) - return rv - - def __init__(self): - try: - self.config = yaml.load(open(sys.argv[1])) - except IndexError: - print('Error: not specify config file') - exit(1) - - mysql = self.config.get('mysql') - if mysql.get('table'): - self.tables = [mysql.get('table')] - self.dump_cmd = 'mysqldump -h {host} -P {port} -u {user} --password={password} {db} {table} ' \ - '--default-character-set=utf8 -X --opt --quick'.format(**mysql) - elif mysql.get('tables'): - self.tables = mysql.get('tables') - mysql.update({ - 'tables': ' '.join(mysql.get('tables')) - }) - self.dump_cmd = 'mysqldump -h {host} -P {port} -u {user} --password={password} --database {db} --tables {tables} ' \ - '--default-character-set=utf8 -X --opt --quick'.format(**mysql) - else: - print('Error: must specify either table or tables') - exit(1) - self.master = self.tables[0] # use the first table as master - self.current_table = None - - self.binlog_conf = dict( - [(key, self.config['mysql'][key]) for key in ['host', 'port', 'user', 'password', 'db']] - ) - - self.endpoint = 'http://{host}:{port}/{index}/{type}/_bulk'.format( - host=self.config['elastic']['host'], - port=self.config['elastic']['port'], - index=self.config['elastic']['index'], - type=self.config['elastic']['type'] - ) # todo: supporting multi-index - - self.mapping = self.config.get('mapping') or {} - if self.mapping.get('_id'): - self.id_key = self.mapping.pop('_id') - else: - self.id_key = None - - self.ignoring = self.config.get('ignoring') or [] - - record_path = self.config['binlog_sync']['record_file'] - if os.path.isfile(record_path): - with open(record_path, 'r') as f: - record = yaml.load(f) - self.log_file = record.get('log_file') - self.log_pos = record.get('log_pos') - - self.bulk_size = self.config.get('elastic').get('bulk_size') or DEFAULT_BULKSIZE - self.binlog_bulk_size = self.config.get('elastic').get('binlog_bulk_size') or DEFAULT_BINLOG_BULKSIZE - - self._init_logging() - self._force_commit = False - - def _init_logging(self): - logging.basicConfig(filename=self.config['logging']['file'], - level=logging.INFO, - format='[%(levelname)s] - %(filename)s[line:%(lineno)d] - %(asctime)s %(message)s') - self.logger = logging.getLogger(__name__) - logging.getLogger("requests").setLevel(logging.WARNING) # disable requests info logging - - def cleanup(*args): - self.logger.info('Received stop signal') - self.logger.info('Shutdown') - sys.exit(0) - - signal.signal(signal.SIGINT, cleanup) - signal.signal(signal.SIGTERM, cleanup) - - def _post_to_es(self, data): - """ - send post requests to es restful api - """ - resp = requests.post(self.endpoint, data=data) - if resp.json().get('errors'): # a boolean to figure error occurs - for item in resp.json()['items']: - if list(item.values())[0].get('error'): - logging.error(item) - else: - self._save_binlog_record() - - def _bulker(self, bulk_size): - """ - Example: - u = bulker() - u.send(None) #for generator initialize - u.send(json_str) # input json item - u.send(another_json_str) # input json item - ... - u.send(None) force finish bulk and post - """ - while True: - data = "" - for i in range(bulk_size): - item = yield - if item: - data = data + item + "\n" - else: - break - if self._force_commit: - break - # print(data) - print('-'*10) - if data: - self._post_to_es(data) - - self._force_commit = False - - def _updater(self, data): - """ - encapsulation of bulker - """ - if self.is_binlog_sync: - u = self._bulker(bulk_size=self.binlog_bulk_size) - else: - u = self._bulker(bulk_size=self.bulk_size) - - u.send(None) # push the generator to first yield - for item in data: - u.send(item) - u.send(None) # tell the generator it's the end - - def _json_serializer(self, obj): - """ - format the object which json not supported - """ - if isinstance(obj, datetime.datetime) or isinstance(obj, datetime.date): - return obj.isoformat() - elif isinstance(obj, decimal.Decimal): - return str(obj) - raise TypeError('Type not serializable for obj {obj}'.format(obj=obj)) - - def _processor(self, data): - """ - The action must be one of the following: - create - Create a document only if the document does not already exist. - index - Create a new document or replace an existing document. - update - Do a partial update on a document. - delete - Delete a document. - """ - for item in data: - if self.id_key: - action_content = {'_id': item['doc'][self.id_key]} - else: - action_content = {} - for field in self.ignoring: - try: - item['doc'].pop(field) - except KeyError: - pass - meta = json.dumps({item['action']: action_content}) - if item['action'] == 'index': - body = json.dumps(item['doc'], default=self._json_serializer) - rv = meta + '\n' + body - elif item['action'] == 'update': - body = json.dumps({'doc': item['doc']}, default=self._json_serializer) - rv = meta + '\n' + body - elif item['action'] == 'delete': - rv = meta + '\n' - elif item['action'] == 'create': - body = json.dumps(item['doc'], default=self._json_serializer) - rv = meta + '\n' + body - else: - logging.error('unknown action type in doc') - raise TypeError('unknown action type in doc') - yield rv - - def _mapper(self, data): - """ - mapping old key to new key - """ - for item in data: - if self.mapping: - for k, v in self.mapping.items(): - try: - item['doc'][k] = item['doc'][v] - del item['doc'][v] - except KeyError: - continue - # print(doc) - yield item - - def _formatter(self, data): - """ - format every field from xml, according to parsed table structure - """ - for item in data: - for field, serializer in self.table_structure.items(): - if field in item['doc'] and item['doc'][field]: - try: - item['doc'][field] = serializer(item['doc'][field]) - except ValueError as e: - self.logger.error( - "Error occurred during format, ErrorMessage:{msg}, ErrorItem:{item}".format( - msg=str(e), - item=str(item))) - item['doc'][field] = None - except TypeError as e: - item['doc'][field] = None - # print(item) - yield item - - def _binlog_loader(self): - """ - read row from binlog - """ - if self.is_binlog_sync: - resume_stream = True - logging.info("Resume from binlog_file: {file} binlog_pos: {pos}".format(file=self.log_file, - pos=self.log_pos)) - else: - resume_stream = False - - stream = BinLogStreamReader(connection_settings=self.binlog_conf, - server_id=self.config['mysql']['server_id'], - only_events=[DeleteRowsEvent, WriteRowsEvent, UpdateRowsEvent, RotateEvent, XidEvent], - only_tables=self.tables, - resume_stream=resume_stream, - blocking=True, - log_file=self.log_file, - log_pos=self.log_pos) - for binlogevent in stream: - self.log_file = stream.log_file - self.log_pos = stream.log_pos - - # RotateEvent to update binlog record when no related table changed - if isinstance(binlogevent, RotateEvent): - self._save_binlog_record() - continue - - if isinstance(binlogevent, XidEvent): # event_type == 16 - self._force_commit = True - continue - - for row in binlogevent.rows: - if isinstance(binlogevent, DeleteRowsEvent): - if binlogevent.table == self.master: - rv = { - 'action': 'delete', - 'doc': row['values'] - } - else: - rv = { - 'action': 'update', - 'doc': {k: row['values'][k] if self.id_key and self.id_key == k else None for k in row['values']} - } - elif isinstance(binlogevent, UpdateRowsEvent): - rv = { - 'action': 'update', - 'doc': row['after_values'] - } - elif isinstance(binlogevent, WriteRowsEvent): - if binlogevent.table == self.master: - rv = { - 'action': 'create', - 'doc': row['values'] - } - else: - rv = { - 'action': 'update', - 'doc': row['values'] - } - else: - logging.error('unknown action type in binlog') - raise TypeError('unknown action type in binlog') - yield rv - # print(rv) - stream.close() - raise IOError('mysql connection closed') - - def _parse_table_structure(self, data): - """ - parse the table structure - """ - for item in data.iter(): - if item.tag == 'field': - field = item.attrib.get('Field') - type = item.attrib.get('Type') - if 'int' in type: - serializer = int - elif 'float' in type: - serializer = float - elif 'datetime' in type: - if '(' in type: - serializer = lambda x: datetime.datetime.strptime(x, '%Y-%m-%d %H:%M:%S.%f') - else: - serializer = lambda x: datetime.datetime.strptime(x, '%Y-%m-%d %H:%M:%S') - elif 'char' in type: - serializer = str - elif 'text' in type: - serializer = str - else: - serializer = str - self.table_structure[field] = serializer - - def _parse_and_remove(self, f, path): - """ - snippet from python cookbook, for parsing large xml file - """ - path_parts = path.split('/') - doc = iterparse(f, ('start', 'end'), recover=False, encoding='utf-8', huge_tree=True) - # Skip the root element - next(doc) - tag_stack = [] - elem_stack = [] - for event, elem in doc: - if event == 'start': - if elem.tag == 'table_data': - self.current_table = elem.attrib['name'] - tag_stack.append(elem.tag) - elem_stack.append(elem) - elif event == 'end': - if tag_stack == ['database', 'table_data']: - self.current_table = None - if tag_stack == path_parts: - yield elem - elem_stack[-2].remove(elem) - if tag_stack == ['database', 'table_structure']: - # dirty hack for getting the tables structure - self._parse_table_structure(elem) - elem_stack[-2].remove(elem) - try: - tag_stack.pop() - elem_stack.pop() - except IndexError: - pass - - def _xml_parser(self, f_obj): - """ - parse mysqldump XML streaming, convert every item to dict object. - 'database/table_data/row' - """ - for row in self._parse_and_remove(f_obj, 'database/table_data/row'): - doc = {} - for field in row.iter(tag='field'): - k = field.attrib.get('name') - v = field.text - doc[k] = v - if not self.current_table or self.current_table == self.master: - yield {'action': 'create', 'doc': doc} - else: - yield {'action': 'update', 'doc': doc} - - def _save_binlog_record(self): - if self.is_binlog_sync: - with open(self.config['binlog_sync']['record_file'], 'w') as f: - logging.info("Sync binlog_file: {file} binlog_pos: {pos}".format( - file=self.log_file, - pos=self.log_pos) - ) - yaml.safe_dump({"log_file": self.log_file, - "log_pos": self.log_pos}, - f, - default_flow_style=False) - - def _xml_dump_loader(self): - mysqldump = subprocess.Popen( - shlex.split(encode_in_py2(self.dump_cmd)), - stdout=subprocess.PIPE, - stderr=DEVNULL, - close_fds=True) - - remove_invalid_pipe = subprocess.Popen( - shlex.split(encode_in_py2(REMOVE_INVALID_PIPE)), - stdin=mysqldump.stdout, - stdout=subprocess.PIPE, - stderr=DEVNULL, - close_fds=True) - - return remove_invalid_pipe.stdout - - def _xml_file_loader(self, filename): - f = open(filename, 'rb') # bytes required - - remove_invalid_pipe = subprocess.Popen( - shlex.split(encode_in_py2(REMOVE_INVALID_PIPE)), - stdin=f, - stdout=subprocess.PIPE, - stderr=DEVNULL, - close_fds=True) - return remove_invalid_pipe.stdout - - def _send_email(self, title, content): - """ - send notification email - """ - if not self.config.get('email'): - return - - import smtplib - from email.mime.text import MIMEText - - msg = MIMEText(content) - msg['Subject'] = title - msg['From'] = self.config['email']['from']['username'] - msg['To'] = ', '.join(self.config['email']['to']) - - # Send the message via our own SMTP server. - s = smtplib.SMTP() - s.connect(self.config['email']['from']['host']) - s.login(user=self.config['email']['from']['username'], - password=self.config['email']['from']['password']) - s.sendmail(msg['From'], msg['To'], msg=msg.as_string()) - s.quit() - - def _sync_from_stream(self): - logging.info("Start to dump from stream") - docs = reduce(lambda x, y: y(x), [self._xml_parser, - self._formatter, - self._mapper, - self._processor], - self._xml_dump_loader()) - self._updater(docs) - logging.info("Dump success") - - def _sync_from_file(self): - logging.info("Start to dump from xml file") - logging.info("Filename: {}".format(self.config['xml_file']['filename'])) - docs = reduce(lambda x, y: y(x), [self._xml_parser, - self._formatter, - self._mapper, - self._processor], - self._xml_file_loader(self.config['xml_file']['filename'])) - self._updater(docs) - logging.info("Dump success") - - def _sync_from_binlog(self): - logging.info("Start to sync binlog") - docs = reduce(lambda x, y: y(x), [self._mapper, - self._processor], - self._binlog_loader()) - self._updater(docs) - - def run(self): - """ - workflow: - 1. sync dump data - 2. sync binlog - """ - try: - if not self.is_binlog_sync: - if len(sys.argv) > 2 and sys.argv[2] == '--fromfile': - self._sync_from_file() - else: - self._sync_from_stream() - self._sync_from_binlog() - except Exception: - import traceback - logging.error(traceback.format_exc()) - self._send_email('es sync error', traceback.format_exc()) - raise - - -def start(): - instance = ElasticSync() - instance.run() - -if __name__ == '__main__': - start() diff --git a/es_sync/sample.yaml b/es_sync/sample.yaml deleted file mode 100644 index 5a6a64f..0000000 --- a/es_sync/sample.yaml +++ /dev/null @@ -1,51 +0,0 @@ -# The mysql database which you want to sync -mysql: - host: 127.0.0.1 - port: 3306 - user: foo - password: bar - db: mydb - table: mytable - tables: # support multi-table here, you can set tables instead of table and the first one will be set to master as default - - table1 - server_id: 1 # this should be unique - -elastic: - host: 127.0.0.1 - port: 9200 - bulk_size: 200 # the update bulk size when mysqldump, default is 100 if not specified - binlog_bulk_size: 10 # the update bulk size when syncing binlog, default is 1 if not specified - index: article - type: article - -# path to your own xml file, if you want to initialize dump from xml file. run with argument --fromfile in command -xml_file: - filename: a.xml - -# If you want to map your column, put the column name as the value, and es field name as the key, -# Particularly , if you set _id as follows, it will use myid column as the index doc's id, or ES will generate an id as default -mapping: - _id: myid - es_field_name: mysql_column_name - -# You can set ignoring fields here, and these fields will not be post to ES. -ignoring: - - ignoring_field - -# The log file's path -logging: - file: mylog.log - -# The record file's path, which record the latest synced binlog file and position -binlog_sync: - record_file: binlog.info - -# If you want to email notification when error occurs, fill this -email: - from: # the sender's email, uses smtp protocol - host: smtp.example.com - username: sender@example.com - password: senderpassword - to: # a list of notification recipients - - first_recipient@example.com - - second_recipient@example.com \ No newline at end of file diff --git a/src/__init__.py b/src/__init__.py deleted file mode 100644 index 0f59283..0000000 --- a/src/__init__.py +++ /dev/null @@ -1,437 +0,0 @@ -from __future__ import print_function, unicode_literals -from future.builtins import str, range -import sys -PY2 = sys.version_info[0] == 2 - -if PY2: - import os - DEVNULL = open(os.devnull, 'wb') -else: - from subprocess import DEVNULL -def encode_in_py2(s): - if PY2: - return s.encode('utf-8') - return s - -import os.path -import yaml -import signal -import requests -import subprocess -import json -import logging -import shlex -from datetime import datetime -from lxml.etree import iterparse -from functools import reduce -from pymysqlreplication import BinLogStreamReader -from pymysqlreplication.row_event import DeleteRowsEvent, UpdateRowsEvent, WriteRowsEvent - -__version__ = '0.3.3.1' - - -# The magic spell for removing invalid characters in xml stream. -REMOVE_INVALID_PIPE = r'tr -d "\00\01\02\03\04\05\06\07\10\13\14\16\17\20\21\22\23\24\25\26\27\30\31\32\33\34\35\36\37"' - -DEFAULT_BULKSIZE = 100 -DEFAULT_BINLOG_BULKSIZE = 1 - - -class ElasticSync(object): - table_structure = {} - log_file = None - log_pos = None - - @property - def is_binlog_sync(self): - rv = bool(self.log_file and self.log_pos) - return rv - - def __init__(self): - try: - self.config = yaml.load(open(sys.argv[1])) - except IndexError: - print('Error: not specify config file') - exit(1) - - self.dump_cmd = 'mysqldump -h {host} -P {port} -u {user} --password={password} {db} {table} ' \ - '--default-character-set=utf8 -X'.format(**self.config['mysql']) - - self.binlog_conf = dict( - [(key, self.config['mysql'][key]) for key in ['host', 'port', 'user', 'password', 'db']] - ) - - self.endpoint = 'http://{host}:{port}/{index}/{type}/_bulk'.format( - host=self.config['elastic']['host'], - port=self.config['elastic']['port'], - index=self.config['elastic']['index'], - type=self.config['elastic']['type'] - ) # todo: supporting multi-index - - self.mapping = self.config.get('mapping') or {} - if self.mapping.get('_id'): - self.id_key = self.mapping.pop('_id') - else: - self.id_key = None - - record_path = self.config['binlog_sync']['record_file'] - if os.path.isfile(record_path): - with open(record_path, 'r') as f: - record = yaml.load(f) - self.log_file = record.get('log_file') - self.log_pos = record.get('log_pos') - - self.bulk_size = self.config.get('elastic').get('bulk_size') or DEFAULT_BULKSIZE - self.binlog_bulk_size = self.config.get('elastic').get('binlog_bulk_size') or DEFAULT_BINLOG_BULKSIZE - - self._init_logging() - - def _init_logging(self): - logging.basicConfig(filename=self.config['logging']['file'], - level=logging.INFO, - format='[%(levelname)s] %(asctime)s %(message)s') - self.logger = logging.getLogger(__name__) - logging.getLogger("requests").setLevel(logging.WARNING) # disable requests info logging - - def cleanup(*args): - self.logger.info('Received stop signal') - self.logger.info('Shutdown') - sys.exit(0) - - signal.signal(signal.SIGINT, cleanup) - signal.signal(signal.SIGTERM, cleanup) - - def _post_to_es(self, data): - """ - send post requests to es restful api - """ - resp = requests.post(self.endpoint, data=data) - if resp.json().get('errors'): # a boolean to figure error occurs - for item in resp.json()['items']: - if list(item.values())[0].get('error'): - logging.error(item) - else: - self._save_binlog_record() - - def _bulker(self, bulk_size): - """ - Example: - u = bulker() - u.send(None) #for generator initialize - u.send(json_str) # input json item - u.send(another_json_str) # input json item - ... - u.send(None) force finish bulk and post - """ - while True: - data = "" - for i in range(bulk_size): - item = yield - if item: - data = data + item + "\n" - else: - break - # print(data) - print('-'*10) - if data: - self._post_to_es(data) - - def _updater(self, data): - """ - encapsulation of bulker - """ - if self.is_binlog_sync: - u = self._bulker(bulk_size=self.binlog_bulk_size) - else: - u = self._bulker(bulk_size=self.bulk_size) - - u.send(None) # push the generator to first yield - for item in data: - u.send(item) - u.send(None) # tell the generator it's the end - - def _json_serializer(self, obj): - """ - format the object which json not supported - """ - if isinstance(obj, datetime): - return obj.isoformat() - raise TypeError('Type not serializable') - - def _processor(self, data): - """ - The action must be one of the following: - create - Create a document only if the document does not already exist. - index - Create a new document or replace an existing document. - update - Do a partial update on a document. - delete - Delete a document. - """ - for item in data: - if self.id_key: - action_content = {'_id': item['doc'][self.id_key]} - else: - action_content = {} - meta = json.dumps({item['action']: action_content}) - if item['action'] == 'index': - body = json.dumps(item['doc'], default=self._json_serializer) - rv = meta + '\n' + body - elif item['action'] == 'update': - body = json.dumps({'doc': item['doc']}, default=self._json_serializer) - rv = meta + '\n' + body - elif item['action'] == 'delete': - rv = meta + '\n' - elif item['action'] == 'create': - body = json.dumps(item['doc'], default=self._json_serializer) - rv = meta + '\n' + body - else: - logging.error('unknown action type in doc') - raise TypeError('unknown action type in doc') - yield rv - - def _mapper(self, data): - """ - mapping old key to new key - """ - for item in data: - if self.mapping: - for k, v in self.mapping.items(): - item['doc'][k] = item['doc'][v] - del item['doc'][v] - # print(doc) - yield item - - def _formatter(self, data): - """ - format every field from xml, according to parsed table structure - """ - for item in data: - for field, serializer in self.table_structure.items(): - if item['doc'][field]: - try: - item['doc'][field] = serializer(item['doc'][field]) - except ValueError as e: - self.logger.error("Error occurred during format, ErrorMessage:{msg}, ErrorItem:{item}".format( - msg=str(e), - item=str(item))) - item['doc'][field] = None - # print(item) - yield item - - def _binlog_loader(self): - """ - read row from binlog - """ - if self.is_binlog_sync: - resume_stream = True - logging.info("Resume from binlog_file: {file} binlog_pos: {pos}".format(file=self.log_file, - pos=self.log_pos)) - else: - resume_stream = False - - stream = BinLogStreamReader(connection_settings=self.binlog_conf, - server_id=self.config['mysql']['server_id'], - only_events=[DeleteRowsEvent, WriteRowsEvent, UpdateRowsEvent], - only_tables=[self.config['mysql']['table']], - resume_stream=resume_stream, - blocking=True, - log_file=self.log_file, - log_pos=self.log_pos) - for binlogevent in stream: - self.log_file = stream.log_file - self.log_pos = stream.log_pos - for row in binlogevent.rows: - if isinstance(binlogevent, DeleteRowsEvent): - rv = { - 'action': 'delete', - 'doc': row['values'] - } - elif isinstance(binlogevent, UpdateRowsEvent): - rv = { - 'action': 'update', - 'doc': row['after_values'] - } - elif isinstance(binlogevent, WriteRowsEvent): - rv = { - 'action': 'index', - 'doc': row['values'] - } - else: - logging.error('unknown action type in binlog') - raise TypeError('unknown action type in binlog') - yield rv - # print(rv) - stream.close() - raise IOError('mysql connection closed') - - def _parse_table_structure(self, data): - """ - parse the table structure - """ - for item in data.iter(): - if item.tag == 'field': - field = item.attrib.get('Field') - type = item.attrib.get('Type') - if 'int' in type: - serializer = int - elif 'float' in type: - serializer = float - elif 'datetime' in type: - if '(' in type: - serializer = lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S.%f') - else: - serializer = lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S') - elif 'char' in type: - serializer = str - elif 'text' in type: - serializer = str - else: - serializer = str - self.table_structure[field] = serializer - - def _parse_and_remove(self, f, path): - """ - snippet from python cookbook, for parsing large xml file - """ - path_parts = path.split('/') - doc = iterparse(f, ('start', 'end'), recover=False, encoding='utf-8', huge_tree=True) - # Skip the root element - next(doc) - tag_stack = [] - elem_stack = [] - for event, elem in doc: - if event == 'start': - tag_stack.append(elem.tag) - elem_stack.append(elem) - elif event == 'end': - if tag_stack == path_parts: - yield elem - elem_stack[-2].remove(elem) - if tag_stack == ['database', 'table_structure']: # dirty hack for getting the tables structure - self._parse_table_structure(elem) - elem_stack[-2].remove(elem) - try: - tag_stack.pop() - elem_stack.pop() - except IndexError: - pass - - def _xml_parser(self, f_obj): - """ - parse mysqldump XML streaming, convert every item to dict object. 'database/table_data/row' - """ - for row in self._parse_and_remove(f_obj, 'database/table_data/row'): - doc = {} - for field in row.iter(tag='field'): - k = field.attrib.get('name') - v = field.text - doc[k] = v - yield {'action': 'index', 'doc': doc} - - def _save_binlog_record(self): - if self.is_binlog_sync: - with open(self.config['binlog_sync']['record_file'], 'w') as f: - logging.info("Sync binlog_file: {file} binlog_pos: {pos}".format( - file=self.log_file, - pos=self.log_pos) - ) - yaml.safe_dump({"log_file": self.log_file, "log_pos": self.log_pos}, f, default_flow_style=False) - - def _xml_dump_loader(self): - mysqldump = subprocess.Popen( - shlex.split(encode_in_py2(self.dump_cmd)), - stdout=subprocess.PIPE, - stderr=DEVNULL, - close_fds=True) - - remove_invalid_pipe = subprocess.Popen( - shlex.split(encode_in_py2(REMOVE_INVALID_PIPE)), - stdin=mysqldump.stdout, - stdout=subprocess.PIPE, - stderr=DEVNULL, - close_fds=True) - - return remove_invalid_pipe.stdout - - def _xml_file_loader(self, filename): - f = open(filename, 'rb') # bytes required - return f - - def _send_email(self, title, content): - """ - send notification email - """ - if not self.config.get('email'): - return - - import smtplib - from email.mime.text import MIMEText - - msg = MIMEText(content) - msg['Subject'] = title - msg['From'] = self.config['email']['from']['username'] - msg['To'] = ', '.join(self.config['email']['to']) - - # Send the message via our own SMTP server. - s = smtplib.SMTP() - s.connect(self.config['email']['from']['host']) - s.login(user=self.config['email']['from']['username'], - password=self.config['email']['from']['password']) - s.sendmail(msg['From'], msg['To'], msg=msg.as_string()) - s.quit() - - def _sync_from_stream(self): - logging.info("Start to dump from stream") - docs = reduce(lambda x, y: y(x), [self._xml_parser, - self._formatter, - self._mapper, - self._processor], - self._xml_dump_loader()) - self._updater(docs) - logging.info("Dump success") - - def _sync_from_file(self): - logging.info("Start to dump from xml file") - logging.info("Filename: {}".format(self.config['xml_file']['filename'])) - docs = reduce(lambda x, y: y(x), [self._xml_parser, - self._formatter, - self._mapper, - self._processor], - self._xml_file_loader(self.config['xml_file']['filename'])) - self._updater(docs) - logging.info("Dump success") - - def _sync_from_binlog(self): - logging.info("Start to sync binlog") - docs = reduce(lambda x, y: y(x), [self._mapper, self._processor], self._binlog_loader()) - self._updater(docs) - - def run(self): - """ - workflow: - 1. sync dump data - 2. sync binlog - """ - try: - if not self.is_binlog_sync: - if len(sys.argv) > 2 and sys.argv[2] == '--fromfile': - self._sync_from_file() - else: - self._sync_from_stream() - self._sync_from_binlog() - except Exception: - import traceback - logging.error(traceback.format_exc()) - self._send_email('es sync error', traceback.format_exc()) - raise - - -def start(): - instance = ElasticSync() - instance.run() - -if __name__ == '__main__': - start() diff --git a/src/sample.yaml b/src/sample.yaml deleted file mode 100644 index 8756f82..0000000 --- a/src/sample.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# The mysql database which you want to sync -mysql: - host: 127.0.0.1 - port: 3306 - user: foo - password: bar - db: mydb - table: mytable - server_id: 1 # this should be unique - -elastic: - host: 127.0.0.1 - port: 9200 - bulk_size: 200 # the update bulk size when mysqldump, default is 100 if not specified - binlog_bulk_size: 10 # the update bulk size when syncing binlog, default is 1 if not specified - index: article - type: article - -# path to your own xml file, if you want to initialize dump from xml file. run with argument --fromfile in command -xml_file: - filename: a.xml - -# If you want to map your column, put the column name as the value, and es field name as the key, -# Particularly , if you set _id as follows, it will use myid column as the index doc's id, or ES will generate an id as default -mapping: - _id: myid - es_field_name: mysql_column_name - -# The log file's path -logging: - file: mylog.log - -# The record file's path, which record the latest synced binlog file and position -binlog_sync: - record_file: binlog.info - -# If you want to email notification when error occurs, fill this -email: - from: # the sender's email, uses smtp protocol - host: smtp.example.com - username: sender@example.com - password: senderpassword - to: # a list of notification recipients - - first_recipient@example.com - - second_recipient@example.com \ No newline at end of file From ac5f82480b23815ed864ab017ce3b67b99c5d817 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Wed, 13 Sep 2023 22:11:47 +0900 Subject: [PATCH 03/22] delete the rest files in this project that are dependent on the main source files --- .gitignore | 66 ------------------------------------------- LICENSE | 22 --------------- MANIFEST.in | 2 -- README.md | 73 ------------------------------------------------ README_CN.md | 73 ------------------------------------------------ requirements.txt | 6 ---- setup.py | 27 ------------------ upstart.conf | 12 -------- 8 files changed, 281 deletions(-) delete mode 100644 .gitignore delete mode 100644 LICENSE delete mode 100644 MANIFEST.in delete mode 100644 README.md delete mode 100644 README_CN.md delete mode 100644 requirements.txt delete mode 100644 setup.py delete mode 100644 upstart.conf diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 9cc2d34..0000000 --- a/.gitignore +++ /dev/null @@ -1,66 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*,cover - -# Translations -*.mo -*.pot - -# Django stuff: -*.log - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -*.yaml - -# virtualenv -venv/ -ENV/ - -# Pycharm settings -*.idea/ \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index dbd643c..0000000 --- a/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) by Windfarer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index c625213..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1,2 +0,0 @@ -include README.md LICENSE -recursive-include src *.yaml \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 2abf719..0000000 --- a/README.md +++ /dev/null @@ -1,73 +0,0 @@ -# py-mysql-elasticsearch-sync -Simple and fast MySQL to Elasticsearch sync tool, written in Python. - -[中文文档](https://github.com/zhongbiaodev/py-mysql-elasticsearch-sync/blob/master/README_CN.md) - -## Introduction -This tool helps you to initialize MySQL dump table to Elasticsearch by parsing mysqldump, then incremental sync MySQL table to Elasticsearch by processing MySQL Binlog. -Also, during the binlog syncing, this tool will save the binlog sync position, so that it is easy to recover after this tool being shutdown for any reason. - -## Installation -By following these steps. - -##### 1. ibxml2 and libxslt -This tool depends on python lxml package, so that you should install the lxml's dependecies correctly, the libxml2 and libxslt are required. - -For example, in CentOS: - -``` -sudo yum install libxml2 libxml2-devel libxslt libxslt-devel -``` - -Or in Debian/Ubuntu: - -``` -sudo apt-get install libxml2-dev libxslt-dev python-dev -``` - -See [lxml Installation](http://lxml.de/installation.html) for more infomation. -##### 2. mysqldump -And then, mysqldump is required in the machine where this tool will be run on it.(and the mysql server must enable binlog) - - -##### 3. this tool -Then install this tool - -``` -pip install py-mysql-elasticsearch-sync -``` - -## Configuration -There is a [sample config](https://github.com/zhongbiaodev/py-mysql-elasticsearch-sync/blob/master/es_sync/sample.yaml) file in repo, you can start by editing it. - -## Running -Simply run command - -``` -es-sync path/to/your/config.yaml -``` -and the tool will dump your data as stream to sync, when dump is over, it will start to sync binlog. - -The latest synced binlog file and position are recorded in your info file which is configured in your config file. You can restart dump step by remove it, or you can change sync position by edit it. - -Or if you but want to load it from your own dumpfile. You should dump your table first as xml format(by adding ```-X```option to your mysqldump command) - -then - -``` -es-sync path/to/your/config.yaml --fromfile -``` -to start sync, when xml sync is over, it will also start binlog sync. - -## Deployment -We provide an [upstart script]((https://github.com/zhongbiaodev/py-mysql-elasticsearch-sync/blob/master/upstart.conf)) to help you deploy this tool, you can edit it for your own condition, besides, you can deploy it in your own way. - -## MultiTable Supporting -Now Multi-table is supported through setting tables in config file, the first table is master as default and the others are slave. - -Master table and slave tables must use the same primary key, which is defined via _id. - -Table has higher priority than tables. - -## TODO -- [ ] MultiIndex Supporting diff --git a/README_CN.md b/README_CN.md deleted file mode 100644 index e2d05e4..0000000 --- a/README_CN.md +++ /dev/null @@ -1,73 +0,0 @@ -# py-mysql-elasticsearch-sync -一个从MySQL向Elasticsearch同步数据的工具,使用Python实现。 - -## 简介 -在第一次初始化数据时,本工具解析mysqldump导出的数据,并导入ES中,在后续增量更新中,解析binlog的数据,对ES中的数据进行同步。在binlog同步阶段,支持断点恢复,因此无需担心意外中断的问题。 - -## 安装 - -##### 1. ibxml2 和 libxslt -本工具基于lxml库,因此需要安装它的依赖的libxml2和libxslt - -在CentOS中: - -``` -sudo yum install libxml2 libxml2-devel libxslt libxslt-devel -``` - -在Debian/Ubuntu中: - -``` -sudo apt-get install libxml2-dev libxslt-dev python-dev -``` - -查看[lxml Installation](http://lxml.de/installation.html)来获取更多相关信息 - -##### 2. mysqldump -在运行本工具的机器上需要有mysqldump,并且mysql服务器需要开启binlog功能。 - - -##### 3. 本工具 -安装本工具 - -``` -pip install py-mysql-elasticsearch-sync -``` - -## 配置 -你可以通过修改[配置文件示例](https://github.com/zhongbiaodev/py-mysql-elasticsearch-sync/blob/master/es_sync/sample.yaml)来编写自己的配置文件 - -## 运行 -运行命令 - -``` -es-sync path/to/your/config.yaml -``` -工具将开始执行mysqldump并解析流进行同步,当dump结束后,将启动binlog同步 - -最近一次binlog同步位置记录在一个文件中,这个文件的路径在config文件中配置过。 - -你可以删除记录文件来从头进行binlog同步,或者修改文件里的内容,来从特定位置开始同步。 - - -你也可以把自己从mysql导出的xml文件同步进ES中(在mysqldump的命令中加上参数```-X```即可导出xml) - -然后执行 - -``` -es-sync path/to/your/config.yaml --fromfile -``` -启动从xml导入,当从xml导入完毕后,它会开始同步binlog - -## 服务管理 -我们写了一个[upstart脚本](https://github.com/zhongbiaodev/py-mysql-elasticsearch-sync/blob/master/upstart.conf)来管理本工具的运行,你也可以用你自己的方式进行部署运行 - -## 多表支持 -你可以在config文件中配置tables以支持多表,默认tables中第一张表为主表,其余表为从表。 - -主表和从表主键必须相同,均为_id字段。 - -当同时设置table和tables时,table优先级较高。 - -## TODO -- [ ] 多索引支持 diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 84be5a5..0000000 --- a/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -PyMySQL==0.6.7 -mysql-replication>=0.8 -requests>=2.9.1 -PyYAML>=3.11 -lxml>=3.5.0 -future>=0.15.2 #for py2 compat diff --git a/setup.py b/setup.py deleted file mode 100644 index 9f734a1..0000000 --- a/setup.py +++ /dev/null @@ -1,27 +0,0 @@ -from setuptools import setup, find_packages -import es_sync - -setup( - name='py-mysql-elasticsearch-sync', - version=es_sync.__version__, - packages=find_packages(), - url='https://github.com/zhongbiaodev/py-mysql-elasticsearch-sync', - license='MIT', - author='Windfarer', - author_email='windfarer@gmail.com', - description='MySQL to Elasticsearch sync tool', - install_requires=[ - 'PyMySQL==0.6.7', - 'mysql-replication==0.9', - 'requests==2.9.1', - 'PyYAML==3.11', - 'lxml==4.9.1', - 'future==0.15.2' - ], - entry_points={ - 'console_scripts': [ - 'es-sync=es_sync:start', - ] - }, - include_package_data=True -) \ No newline at end of file diff --git a/upstart.conf b/upstart.conf deleted file mode 100644 index 9f5054a..0000000 --- a/upstart.conf +++ /dev/null @@ -1,12 +0,0 @@ -description 'es sync' -start on runlevel [2345] -stop on runlevel [06] - -respawn -normal exit 0 - -chdir - -script - es-sync config.yaml -end script \ No newline at end of file From f03d092531a9e760fa4d97f78842875989d0e29f Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Wed, 13 Sep 2023 22:13:43 +0900 Subject: [PATCH 04/22] add new main source files --- src/__init__.py | 0 src/config.yaml | 15 +++++++ src/pymyelarepl.py | 110 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 src/__init__.py create mode 100644 src/config.yaml create mode 100644 src/pymyelarepl.py diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/config.yaml b/src/config.yaml new file mode 100644 index 0000000..4bf6bf0 --- /dev/null +++ b/src/config.yaml @@ -0,0 +1,15 @@ +# all fields must be filled. + +mysql: + host: '127.0.0.1' + port: 3306 + user: 'root' + password: '1234' + db: 'test' + server_id: 2 # this should be unique. this may be different depending on environment. + log_file: 'mysql-bin.000001' # this may be different depending on environment. + log_pos: 0 + +es: + host: '127.0.0.1' + port: 9200 \ No newline at end of file diff --git a/src/pymyelarepl.py b/src/pymyelarepl.py new file mode 100644 index 0000000..798bb07 --- /dev/null +++ b/src/pymyelarepl.py @@ -0,0 +1,110 @@ +import datetime +import decimal +import json +import requests +import sys +import yaml + +from pymysqlreplication import BinLogStreamReader +from pymysqlreplication.row_event import DeleteRowsEvent, UpdateRowsEvent, WriteRowsEvent + + +class PymyElaRepl: + def get_config_from_file(self): + try: + with open(sys.argv[1]) as f: + self.config = yaml.load(f, Loader=yaml.FullLoader) + except IndexError: + raise IndexError('Must specify config file') + except FileNotFoundError: + raise FileNotFoundError('Could not find the config file') + + def __init__(self): + self.get_config_from_file() + + self.es_endpoint = 'http://{host}:{port}/_bulk'.format( + host=self.config['es']['host'], + port=self.config['es']['port'] + ) + + self.mysql_conf = dict( + [(key, self.config['mysql'][key]) for key in ['host', 'port', 'user', 'password', 'db']] + ) + + self.binlog_stream_reader = BinLogStreamReader( + connection_settings=self.mysql_conf, + server_id=self.config['mysql']['server_id'], + only_events=[DeleteRowsEvent, WriteRowsEvent, UpdateRowsEvent], + log_file=self.config['mysql']['log_file'], + log_pos=self.config['mysql']['log_pos'], + resume_stream=True if self.config['mysql']['log_pos'] != 0 else False, + blocking=True + ) + + def send_to_es(self, converted): + resp = requests.post( + url=self.es_endpoint, + data=converted, + verify=False, + headers={'content-type': 'application/json'} + ) + + print(resp.json()) + + def serialize_not_serializable(self, obj): + if isinstance(obj, datetime.datetime) or isinstance(obj, datetime.date): + return obj.isoformat() + elif isinstance(obj, decimal.Decimal): + return str(obj) + raise TypeError('Type not serializable for obj {obj}'.format(obj=obj)) + + def convert_event_to_valid_es_data_format(self, event): + meta = json.dumps({event['action']: {'_index': event['index'], '_id': event['id']}}) + + if event['action'] == 'delete': + converted = meta + '\n' + elif event['action'] == 'update': + body = json.dumps({'doc': event['doc']}, default=self.serialize_not_serializable) + converted = meta + '\n' + body + '\n' + elif event['action'] == 'create': + body = json.dumps(event['doc'], default=self.serialize_not_serializable) + converted = meta + '\n' + body + '\n' + + return converted + + def get_binlog_event(self): + for event in self.binlog_stream_reader: + for row in event.rows: + if isinstance(event, DeleteRowsEvent): + extracted = { + 'index': event.table, + 'id': row['values'][event.primary_key], + 'action': 'delete' + } + elif isinstance(event, UpdateRowsEvent): + extracted = { + 'index': event.table, + 'id': row['after_values'][event.primary_key], + 'action': 'update', + 'doc': {k: v for k, v in row['after_values'].items() if k != event.primary_key} + } + elif isinstance(event, WriteRowsEvent): + extracted = { + 'index': event.table, + 'id': row['values'][event.primary_key], + 'action': 'create', + 'doc': {k: v for k, v in row['values'].items() if k != event.primary_key} + } + + yield extracted + + self.binlog_stream_reader.close() + print('Info: Mysql connection closed successfully after reading all binlog events.') + + def run(self): + for event in self.get_binlog_event(): + converted = self.convert_event_to_valid_es_data_format(event) + self.send_to_es(converted) + +pymy_elarepl = PymyElaRepl() +pymy_elarepl.run() \ No newline at end of file From 0c934b0c830b22dfb37f13e1e3afd9c5f7551617 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Wed, 13 Sep 2023 22:16:22 +0900 Subject: [PATCH 05/22] add files necessary for contribution --- README.md | 34 ++++++++++++++++++++++++++++++++++ requirements.txt | 8 ++++++++ 2 files changed, 42 insertions(+) create mode 100644 README.md create mode 100644 requirements.txt diff --git a/README.md b/README.md new file mode 100644 index 0000000..f50138c --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +## Description + +This project replicates Mysql to Elasticsearch, which is incomplete but able to migrate data between the two databases in simple way. + +The project is a modified version of [py-mysql-elasticsearch-sync.](https://github.com/zhongbiaodev/py-mysql-elasticsearch-sync) + +
+ + +## Environment + +* Cpython 3.8.17 +* Mysql 8.0.33 +* Elasticsearch 8.8.1 + + +
+ + +## Usage + +``` +(your virtualenv) pip install -r requirements.txt + +(your virtualenv) python src/pymyelarepl.py src/config.yaml +``` + + +
+ + +## License + +MIT \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..c5d4c75 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,8 @@ +certifi==2023.7.22 +charset-normalizer==3.2.0 +idna==3.4 +mysql-replication==0.43.0 +PyMySQL==1.1.0 +PyYAML==6.0.1 +requests==2.31.0 +urllib3==2.0.4 From d85fb88b9c600dcc2aed10c7253c5bbbdbbdd4b8 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Wed, 13 Sep 2023 22:16:22 +0900 Subject: [PATCH 06/22] add files necessary for contribution --- README.md | 37 +++++++++++++++++++++++++++++++++++++ requirements.txt | 8 ++++++++ 2 files changed, 45 insertions(+) create mode 100644 README.md create mode 100644 requirements.txt diff --git a/README.md b/README.md new file mode 100644 index 0000000..4c3ebde --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +## Description + +This project replicates Mysql to Elasticsearch, which is incomplete but able to migrate data between the two databases in simple way. + +The project is a modified version of [py-mysql-elasticsearch-sync.](https://github.com/zhongbiaodev/py-mysql-elasticsearch-sync) + +
+ + +## Environment + +* Cpython 3.8.17 +* Mysql 8.0.33 +* Elasticsearch 8.8.1 + + +
+ + +## Usage + +``` +# in elasticsearch.yml. not supporting security related features for now. +xpack.security.enabled: false + +(your virtualenv) pip install -r requirements.txt + +(your virtualenv) python src/pymyelarepl.py src/config.yaml +``` + + +
+ + +## License + +MIT \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..c5d4c75 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,8 @@ +certifi==2023.7.22 +charset-normalizer==3.2.0 +idna==3.4 +mysql-replication==0.43.0 +PyMySQL==1.1.0 +PyYAML==6.0.1 +requests==2.31.0 +urllib3==2.0.4 From e999440ecd5ff83faed469307b4c2c38445b4f38 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Fri, 29 Sep 2023 00:29:54 +0900 Subject: [PATCH 07/22] delete src folder to change project directory structure --- src/__init__.py | 0 src/config.yaml | 15 ------- src/pymyelarepl.py | 110 --------------------------------------------- 3 files changed, 125 deletions(-) delete mode 100644 src/__init__.py delete mode 100644 src/config.yaml delete mode 100644 src/pymyelarepl.py diff --git a/src/__init__.py b/src/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/config.yaml b/src/config.yaml deleted file mode 100644 index 4bf6bf0..0000000 --- a/src/config.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# all fields must be filled. - -mysql: - host: '127.0.0.1' - port: 3306 - user: 'root' - password: '1234' - db: 'test' - server_id: 2 # this should be unique. this may be different depending on environment. - log_file: 'mysql-bin.000001' # this may be different depending on environment. - log_pos: 0 - -es: - host: '127.0.0.1' - port: 9200 \ No newline at end of file diff --git a/src/pymyelarepl.py b/src/pymyelarepl.py deleted file mode 100644 index 798bb07..0000000 --- a/src/pymyelarepl.py +++ /dev/null @@ -1,110 +0,0 @@ -import datetime -import decimal -import json -import requests -import sys -import yaml - -from pymysqlreplication import BinLogStreamReader -from pymysqlreplication.row_event import DeleteRowsEvent, UpdateRowsEvent, WriteRowsEvent - - -class PymyElaRepl: - def get_config_from_file(self): - try: - with open(sys.argv[1]) as f: - self.config = yaml.load(f, Loader=yaml.FullLoader) - except IndexError: - raise IndexError('Must specify config file') - except FileNotFoundError: - raise FileNotFoundError('Could not find the config file') - - def __init__(self): - self.get_config_from_file() - - self.es_endpoint = 'http://{host}:{port}/_bulk'.format( - host=self.config['es']['host'], - port=self.config['es']['port'] - ) - - self.mysql_conf = dict( - [(key, self.config['mysql'][key]) for key in ['host', 'port', 'user', 'password', 'db']] - ) - - self.binlog_stream_reader = BinLogStreamReader( - connection_settings=self.mysql_conf, - server_id=self.config['mysql']['server_id'], - only_events=[DeleteRowsEvent, WriteRowsEvent, UpdateRowsEvent], - log_file=self.config['mysql']['log_file'], - log_pos=self.config['mysql']['log_pos'], - resume_stream=True if self.config['mysql']['log_pos'] != 0 else False, - blocking=True - ) - - def send_to_es(self, converted): - resp = requests.post( - url=self.es_endpoint, - data=converted, - verify=False, - headers={'content-type': 'application/json'} - ) - - print(resp.json()) - - def serialize_not_serializable(self, obj): - if isinstance(obj, datetime.datetime) or isinstance(obj, datetime.date): - return obj.isoformat() - elif isinstance(obj, decimal.Decimal): - return str(obj) - raise TypeError('Type not serializable for obj {obj}'.format(obj=obj)) - - def convert_event_to_valid_es_data_format(self, event): - meta = json.dumps({event['action']: {'_index': event['index'], '_id': event['id']}}) - - if event['action'] == 'delete': - converted = meta + '\n' - elif event['action'] == 'update': - body = json.dumps({'doc': event['doc']}, default=self.serialize_not_serializable) - converted = meta + '\n' + body + '\n' - elif event['action'] == 'create': - body = json.dumps(event['doc'], default=self.serialize_not_serializable) - converted = meta + '\n' + body + '\n' - - return converted - - def get_binlog_event(self): - for event in self.binlog_stream_reader: - for row in event.rows: - if isinstance(event, DeleteRowsEvent): - extracted = { - 'index': event.table, - 'id': row['values'][event.primary_key], - 'action': 'delete' - } - elif isinstance(event, UpdateRowsEvent): - extracted = { - 'index': event.table, - 'id': row['after_values'][event.primary_key], - 'action': 'update', - 'doc': {k: v for k, v in row['after_values'].items() if k != event.primary_key} - } - elif isinstance(event, WriteRowsEvent): - extracted = { - 'index': event.table, - 'id': row['values'][event.primary_key], - 'action': 'create', - 'doc': {k: v for k, v in row['values'].items() if k != event.primary_key} - } - - yield extracted - - self.binlog_stream_reader.close() - print('Info: Mysql connection closed successfully after reading all binlog events.') - - def run(self): - for event in self.get_binlog_event(): - converted = self.convert_event_to_valid_es_data_format(event) - self.send_to_es(converted) - -pymy_elarepl = PymyElaRepl() -pymy_elarepl.run() \ No newline at end of file From 89a2c43bb69eb7fc37aacb7cc9a23e86d82bcdb8 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Fri, 29 Sep 2023 00:31:39 +0900 Subject: [PATCH 08/22] add pymyelarepl folder to change project directory structure --- pymyelarepl/__init__.py | 1 + pymyelarepl/pymyelarepl.py | 110 +++++++++++++++++++++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 pymyelarepl/__init__.py create mode 100644 pymyelarepl/pymyelarepl.py diff --git a/pymyelarepl/__init__.py b/pymyelarepl/__init__.py new file mode 100644 index 0000000..706f348 --- /dev/null +++ b/pymyelarepl/__init__.py @@ -0,0 +1 @@ +from .pymyelarepl import PyMyElaRepl \ No newline at end of file diff --git a/pymyelarepl/pymyelarepl.py b/pymyelarepl/pymyelarepl.py new file mode 100644 index 0000000..b37ee71 --- /dev/null +++ b/pymyelarepl/pymyelarepl.py @@ -0,0 +1,110 @@ +import datetime +import decimal +import json + +import requests +import yaml + +from pymysqlreplication import BinLogStreamReader +from pymysqlreplication.row_event import DeleteRowsEvent, UpdateRowsEvent, WriteRowsEvent + + +class PyMyElaRepl: + def get_config_from_file(self, config_path): + try: + with open(config_path) as f: + self.config = yaml.load(f, Loader=yaml.FullLoader) + except IndexError: + raise IndexError('Must specify config file') + except FileNotFoundError: + raise FileNotFoundError('Could not find the config file') + + def __init__(self, config_path): + self.get_config_from_file(config_path) + + self.es_endpoint = 'http://{host}:{port}/_bulk'.format( + host=self.config['es']['host'], + port=self.config['es']['port'] + ) + + self.mysql_conf = dict( + [(key, self.config['mysql'][key]) for key in ['host', 'port', 'user', 'password']] + ) + + self.binlog_stream_reader = BinLogStreamReader( + connection_settings=self.mysql_conf, + server_id=self.config['mysql']['server_id'], + only_events=[DeleteRowsEvent, WriteRowsEvent, UpdateRowsEvent], + log_file=self.config['mysql']['log_file'], + log_pos=self.config['mysql']['log_pos'], + resume_stream=True if self.config['mysql']['log_pos'] != 0 else False, + blocking=self.config['mysql']['blocking'] + ) + + self.if_error = [] + + def send_to_es(self, converted): + resp = requests.post( + url=self.es_endpoint, + data=converted, + verify=False, + headers={'content-type': 'application/json'} + ) + + self.if_error.append(resp.json()['errors']) + print(resp.json()) + + def serialize_not_serializable(self, obj): + if isinstance(obj, datetime.datetime) or isinstance(obj, datetime.date): + return obj.isoformat() + elif isinstance(obj, decimal.Decimal): + return str(obj) + raise TypeError('Type not serializable for obj {obj}'.format(obj=obj)) + + def convert_event_to_valid_es_data_format(self, event): + meta = json.dumps({event['action']: {'_index': event['index'], '_id': event['id']}}) + + if event['action'] == 'delete': + converted = meta + '\n' + elif event['action'] == 'update': + body = json.dumps({'doc': event['doc']}, default=self.serialize_not_serializable) + converted = meta + '\n' + body + '\n' + elif event['action'] == 'create': + body = json.dumps(event['doc'], default=self.serialize_not_serializable) + converted = meta + '\n' + body + '\n' + + return converted + + def get_binlog_event(self): + for event in self.binlog_stream_reader: + for row in event.rows: + if isinstance(event, DeleteRowsEvent): + extracted = { + 'index': event.table, + 'id': row['values'][event.primary_key], + 'action': 'delete' + } + elif isinstance(event, UpdateRowsEvent): + extracted = { + 'index': event.table, + 'id': row['after_values'][event.primary_key], + 'action': 'update', + 'doc': {k: v for k, v in row['after_values'].items() if k != event.primary_key} + } + elif isinstance(event, WriteRowsEvent): + extracted = { + 'index': event.table, + 'id': row['values'][event.primary_key], + 'action': 'create', + 'doc': {k: v for k, v in row['values'].items() if k != event.primary_key} + } + + yield extracted + + self.binlog_stream_reader.close() + print('Info: Mysql connection closed successfully after reading all binlog events.') + + def run(self): + for event in self.get_binlog_event(): + converted = self.convert_event_to_valid_es_data_format(event) + self.send_to_es(converted) \ No newline at end of file From 7a5a16f97aa77d567be55fa2c597d026f40d58e4 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Fri, 29 Sep 2023 00:33:01 +0900 Subject: [PATCH 09/22] add example folder to change project directory structure --- example/__init__.py | 0 example/config.yaml | 15 +++++++++++++++ example/run.py | 8 ++++++++ 3 files changed, 23 insertions(+) create mode 100644 example/__init__.py create mode 100644 example/config.yaml create mode 100644 example/run.py diff --git a/example/__init__.py b/example/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/example/config.yaml b/example/config.yaml new file mode 100644 index 0000000..521fa93 --- /dev/null +++ b/example/config.yaml @@ -0,0 +1,15 @@ +# all fields must be filled. + +mysql: + host: '127.0.0.1' + port: 3306 + user: 'root' + password: '1234' + server_id: 2 # this should be unique. this may be different depending on environment. + log_file: 'mysql-bin.000001' # this may be different depending on environment. + log_pos: 0 + blocking: True # if true, mysql waits for new incoming event to send after pymyelarepl reads all the previous events. + +es: + host: '127.0.0.1' + port: 9200 \ No newline at end of file diff --git a/example/run.py b/example/run.py new file mode 100644 index 0000000..873408f --- /dev/null +++ b/example/run.py @@ -0,0 +1,8 @@ +import os + +from pymyelarepl import PyMyElaRepl + + +config_path = os.path.join(os.path.dirname(__file__), 'config.yaml') +pymyelarepl = PyMyElaRepl(config_path) +pymyelarepl.run() \ No newline at end of file From b4a07975861167f726afd7e33085f48e8b85a122 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Fri, 29 Sep 2023 00:34:10 +0900 Subject: [PATCH 10/22] add test folder to change project directory structure --- test/__init__.py | 0 test/config.yaml | 16 ++++++++++ test/test_basic.py | 73 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 test/__init__.py create mode 100644 test/config.yaml create mode 100644 test/test_basic.py diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/test/config.yaml b/test/config.yaml new file mode 100644 index 0000000..3a928ff --- /dev/null +++ b/test/config.yaml @@ -0,0 +1,16 @@ +# all fields must be filled. + +mysql: + host: '127.0.0.1' + port: 3306 + user: 'root' + password: '1234' + db: 'pymyelarepl_test' + server_id: 3 # this should be unique. this may be different depending on environment. + log_file: 'mysql-bin.000001' # this may be different depending on environment. + log_pos: 0 + blocking: False # if true, mysql waits for new incoming event to send after pymyelarepl reads all the previous events. + +es: + host: '127.0.0.1' + port: 9200 \ No newline at end of file diff --git a/test/test_basic.py b/test/test_basic.py new file mode 100644 index 0000000..cf021e9 --- /dev/null +++ b/test/test_basic.py @@ -0,0 +1,73 @@ +import os + +import pymysql +import requests +import unittest +import yaml + +from pymyelarepl import PyMyElaRepl + + +class BasicTestCase(unittest.TestCase): + def execute(self, query): + cursor = self.conn_control.cursor() + cursor.execute(query) + return cursor + + def setUp(self): + config_path = os.path.join(os.path.dirname(__file__), 'config.yaml') + + with open(config_path) as f: + self.config = yaml.load(f, Loader=yaml.FullLoader) + + mysql_config = { + "host": self.config['mysql']['host'], + "user": self.config['mysql']['user'], + "passwd": self.config['mysql']['password'], + "port": self.config['mysql']['port'], + "use_unicode": True, + "charset": "utf8", #utf8mb4 + } + + self.conn_control = pymysql.connect(**mysql_config) + self.execute("DROP DATABASE IF EXISTS {db}".format(db=self.config['mysql']['db'])) + self.execute("CREATE DATABASE {db}".format(db=self.config['mysql']['db'])) + self.execute("USE {db}".format(db=self.config['mysql']['db'])) + self.execute("RESET MASTER") + + self.es_url_for_all_data = 'http://{host}:{port}/_all'.format( + host=self.config['es']['host'], + port=self.config['es']['port'] + ) + + self.pymyelarepl = PyMyElaRepl(config_path) + + def test_basic_replication(self): + self.execute( + """ + CREATE TABLE basic_replication( + id INT PRIMARY KEY AUTO_INCREMENT, + f FLOAT, + t TIMESTAMP) + """ + ) + self.execute("INSERT INTO basic_replication(id, f, t) VALUES(1, 12.34, '2023-09-25 00:00:00')") + self.conn_control.commit() + + self.execute("UPDATE basic_replication SET f=56.78 WHERE id=1") + self.conn_control.commit() + + self.execute("DELETE FROM basic_replication WHERE id=1") + self.conn_control.commit() + + self.pymyelarepl.run() + if_error = True if True in self.pymyelarepl.if_error else False + self.assertEqual(if_error, False) + + def tearDown(self): + self.execute("DROP DATABASE IF EXISTS {db}".format(db=self.config['mysql']['db'])) + self.execute("RESET MASTER") + self.conn_control.close() + requests.delete(self.es_url_for_all_data) + +unittest.main() \ No newline at end of file From 381ca72558a7ada82c7645ecaa98ca2da15106e7 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Fri, 29 Sep 2023 00:52:32 +0900 Subject: [PATCH 11/22] add setup.py --- setup.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 setup.py diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..ee47d2c --- /dev/null +++ b/setup.py @@ -0,0 +1,23 @@ +from setuptools import find_packages, setup + +setup( + name='pymyelarepl', + version='0.2', + packages=find_packages( + include=[ + 'pymyelarepl' + ]), + install_requires = [ + 'certifi==2023.7.22', + 'cffi==1.15.1', + 'charset-normalizer==3.2.0', + 'cryptography==41.0.4', + 'idna==3.4', + 'mysql-replication==0.43.0', + 'pycparser==2.21', + 'PyMySQL==1.1.0', + 'PyYAML==6.0.1', + 'requests==2.31.0', + 'urllib3==2.0.4' + ] +) \ No newline at end of file From f7f940160e530eb9b0b0c1a0bc106fa87380cd19 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Tue, 3 Oct 2023 23:05:23 +0900 Subject: [PATCH 12/22] add config about docker-compose container for example --- example/config.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/example/config.yaml b/example/config.yaml index 521fa93..2ba9728 100644 --- a/example/config.yaml +++ b/example/config.yaml @@ -1,15 +1,15 @@ # all fields must be filled. mysql: - host: '127.0.0.1' - port: 3306 + host: '172.0.0.2' # or '127.0.0.1' + port: 3306 # or 3307 user: 'root' - password: '1234' + password: '' server_id: 2 # this should be unique. this may be different depending on environment. log_file: 'mysql-bin.000001' # this may be different depending on environment. log_pos: 0 blocking: True # if true, mysql waits for new incoming event to send after pymyelarepl reads all the previous events. es: - host: '127.0.0.1' - port: 9200 \ No newline at end of file + host: '172.0.0.3' # or '127.0.0.1' + port: 9200 # or 9201 \ No newline at end of file From d32d9260caa78f683e8c8433d3aca98204820ceb Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Tue, 3 Oct 2023 23:06:29 +0900 Subject: [PATCH 13/22] add config about docker-compose container for test, change test db name --- test/config.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/config.yaml b/test/config.yaml index 3a928ff..e4af123 100644 --- a/test/config.yaml +++ b/test/config.yaml @@ -1,16 +1,16 @@ # all fields must be filled. mysql: - host: '127.0.0.1' - port: 3306 + host: '172.0.0.2' # or '127.0.0.1' + port: 3306 # or 3307 user: 'root' - password: '1234' - db: 'pymyelarepl_test' + password: '' + db: 'test_db_for_pymyelarepl' server_id: 3 # this should be unique. this may be different depending on environment. - log_file: 'mysql-bin.000001' # this may be different depending on environment. + log_file: 'mysql-bin.000001' # this shoule be different depending on environment. log_pos: 0 blocking: False # if true, mysql waits for new incoming event to send after pymyelarepl reads all the previous events. es: - host: '127.0.0.1' - port: 9200 \ No newline at end of file + host: '172.0.0.3' # or '127.0.0.1' + port: 9200 # or 9201 \ No newline at end of file From b2ea96dab0eaa138f61c66948f84d36d486ff91d Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Tue, 3 Oct 2023 23:15:20 +0900 Subject: [PATCH 14/22] add docker-compose.yml, pymyelarepl.Dockerfile --- docker-compose.yml | 48 ++++++++++++++++++++++++++++++++++++++++++ pymyelarepl.Dockerfile | 8 +++++++ 2 files changed, 56 insertions(+) create mode 100644 docker-compose.yml create mode 100644 pymyelarepl.Dockerfile diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f359d6d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,48 @@ +version: '3.8' + +services: + mysql-8.1.0: + image: mysql:8.1.0 + ports: + - "3307:3306" + environment: + MYSQL_ALLOW_EMPTY_PASSWORD: true + command: > + mysqld + --log-bin=mysql-bin.log + --server-id 1 + --binlog-format=row + --gtid_mode=on + --enforce-gtid-consistency=on + networks: + network: + ipv4_address: 172.0.0.2 + + elasticsearch-8.10.2: + image: elasticsearch:8.10.2 + ports: + - "9201:9200" + networks: + network: + ipv4_address: 172.0.0.3 + + pymyelarepl: + build: + context: . + dockerfile: pymyelarepl.Dockerfile + args: + BASE_IMAGE: python:3.12.0rc3-bookworm + command: sleep infinity + ports: + - "3001:3000" + networks: + network: + ipv4_address: 172.0.0.4 + +networks: + network: + driver: bridge + ipam: + config: + - subnet: 172.0.0.0/24 + gateway: 172.0.0.1 \ No newline at end of file diff --git a/pymyelarepl.Dockerfile b/pymyelarepl.Dockerfile new file mode 100644 index 0000000..c155669 --- /dev/null +++ b/pymyelarepl.Dockerfile @@ -0,0 +1,8 @@ +ARG BASE_IMAGE +FROM ${BASE_IMAGE} + +COPY pymyelarepl pymyelarepl/pymyelarepl +COPY example pymyelarepl/example +COPY test pymyelarepl/test +COPY setup.py pymyelarepl/setup.py +RUN cd pymyelarepl && pip install . \ No newline at end of file From b02e78ff69d1bc77a60133500bb350761b89623c Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Wed, 4 Oct 2023 02:39:24 +0900 Subject: [PATCH 15/22] improve README for readability --- README.md | 45 ++++++++++++++++++++++++++++++++----------- pymyelarepl-desc.png | Bin 0 -> 361471 bytes 2 files changed, 34 insertions(+), 11 deletions(-) create mode 100644 pymyelarepl-desc.png diff --git a/README.md b/README.md index 4c3ebde..012f87e 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,59 @@ ## Description -This project replicates Mysql to Elasticsearch, which is incomplete but able to migrate data between the two databases in simple way. + + +This project replicates Mysql to Elasticsearch, which is being developed but able to migrate data between the two databases in a simple way. + +Note that the project does not supoort HTTPS when migrating. + +The project is a modified version of [py-mysql-elasticsearch-sync](https://github.com/zhongbiaodev/py-mysql-elasticsearch-sync), using library named [python-mysql-replication](https://github.com/julien-duponchelle/python-mysql-replication). -The project is a modified version of [py-mysql-elasticsearch-sync.](https://github.com/zhongbiaodev/py-mysql-elasticsearch-sync)
+## Give it a try! -## Environment +make containers by: -* Cpython 3.8.17 -* Mysql 8.0.33 -* Elasticsearch 8.8.1 +``` +docker-compose up +```
+stop the elasticsearch container and modify /usr/share/elasticsearch/config/elasticsearch.yml as: -## Usage +``` +(edit true to false) xpack.security.enabled: false +(at the end of the file add this) action.destructive_requires_name: false ``` -# in elasticsearch.yml. not supporting security related features for now. -xpack.security.enabled: false -(your virtualenv) pip install -r requirements.txt -(your virtualenv) python src/pymyelarepl.py src/config.yaml +
+ +restart the elasticsearch container, and in the pymyelarepl container, + +``` +(for test) cd pymyelarepl && python test/test.py + +(after executing some sql in the mysql container, for example) cd pymyelarepl && python example/run.py ```
+the results of the two cases are like the below: + +``` +{'errors': False, 'took': 23, 'items': [{'create': {'_index': 'basic_replication', '_id': '1', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 6, '_primary_term': 2, 'status': 201}}]} +{'errors': False, 'took': 26, 'items': [{'update': {'_index': 'basic_replication', '_id': '1', '_version': 2, 'result': 'updated', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 7, '_primary_term': 2, 'status': 200}}]} +{'errors': False, 'took': 5, 'items': [{'delete': {'_index': 'basic_replication', '_id': '1', '_version': 3, 'result': 'deleted', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 8, '_primary_term': 2, 'status': 200}}]} +``` + + +
## License diff --git a/pymyelarepl-desc.png b/pymyelarepl-desc.png new file mode 100644 index 0000000000000000000000000000000000000000..2185435717c8e75bafb71f3a7823af31597439b1 GIT binary patch literal 361471 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
ymo-rR?)z-AJ@W;>04ER1WAU1*TJMIzZ!5 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ⅅ)InQcW`-m11s(kNguLMQhBKGCvNzbMH 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� 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 Date: Wed, 4 Oct 2023 03:14:47 +0900 Subject: [PATCH 16/22] remove requirements.txt because setup.py is now present --- requirements.txt | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index c5d4c75..0000000 --- a/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -certifi==2023.7.22 -charset-normalizer==3.2.0 -idna==3.4 -mysql-replication==0.43.0 -PyMySQL==1.1.0 -PyYAML==6.0.1 -requests==2.31.0 -urllib3==2.0.4 From 8f4fade2dda888592d3a1b7567381efc1c06725a Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Sat, 7 Oct 2023 14:23:43 +0900 Subject: [PATCH 17/22] add inserting-data-to-elasticsearch-in-bulk feature --- pymyelarepl/pymyelarepl.py | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/pymyelarepl/pymyelarepl.py b/pymyelarepl/pymyelarepl.py index b37ee71..3a84334 100644 --- a/pymyelarepl/pymyelarepl.py +++ b/pymyelarepl/pymyelarepl.py @@ -6,6 +6,7 @@ import yaml from pymysqlreplication import BinLogStreamReader +from pymysqlreplication.event import XidEvent from pymysqlreplication.row_event import DeleteRowsEvent, UpdateRowsEvent, WriteRowsEvent @@ -34,7 +35,7 @@ def __init__(self, config_path): self.binlog_stream_reader = BinLogStreamReader( connection_settings=self.mysql_conf, server_id=self.config['mysql']['server_id'], - only_events=[DeleteRowsEvent, WriteRowsEvent, UpdateRowsEvent], + only_events=[DeleteRowsEvent, WriteRowsEvent, UpdateRowsEvent, XidEvent], log_file=self.config['mysql']['log_file'], log_pos=self.config['mysql']['log_pos'], resume_stream=True if self.config['mysql']['log_pos'] != 0 else False, @@ -61,22 +62,33 @@ def serialize_not_serializable(self, obj): return str(obj) raise TypeError('Type not serializable for obj {obj}'.format(obj=obj)) - def convert_event_to_valid_es_data_format(self, event): - meta = json.dumps({event['action']: {'_index': event['index'], '_id': event['id']}}) + def convert_event_to_valid_es_data_format(self, event): + converted = '' + + for e in event: + meta = json.dumps({e['action']: {'_index': e['index'], '_id': e['id']}}) - if event['action'] == 'delete': - converted = meta + '\n' - elif event['action'] == 'update': - body = json.dumps({'doc': event['doc']}, default=self.serialize_not_serializable) - converted = meta + '\n' + body + '\n' - elif event['action'] == 'create': - body = json.dumps(event['doc'], default=self.serialize_not_serializable) - converted = meta + '\n' + body + '\n' + if e['action'] == 'delete': + converted += ''.join([meta, '\n']) + elif e['action'] == 'update': + body = json.dumps({'doc': e['doc']}, default=self.serialize_not_serializable) + converted += ''.join([meta, '\n', body, '\n']) + elif e['action'] == 'create': + body = json.dumps(e['doc'], default=self.serialize_not_serializable) + converted += ''.join([meta, '\n', body, '\n']) return converted - def get_binlog_event(self): + def get_binlog_event(self): + extracted_collection = [] + for event in self.binlog_stream_reader: + if isinstance(event, XidEvent): + yield extracted_collection + + extracted_collection = [] + continue + for row in event.rows: if isinstance(event, DeleteRowsEvent): extracted = { @@ -99,7 +111,7 @@ def get_binlog_event(self): 'doc': {k: v for k, v in row['values'].items() if k != event.primary_key} } - yield extracted + extracted_collection.append(extracted) self.binlog_stream_reader.close() print('Info: Mysql connection closed successfully after reading all binlog events.') From 3d59c4fe253602cdb4d208150b43f35117745441 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Sat, 7 Oct 2023 14:27:31 +0900 Subject: [PATCH 18/22] modify test to correspond to inserting data to es in bulk --- test/test_basic.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/test_basic.py b/test/test_basic.py index cf021e9..30b28ca 100644 --- a/test/test_basic.py +++ b/test/test_basic.py @@ -26,7 +26,7 @@ def setUp(self): "passwd": self.config['mysql']['password'], "port": self.config['mysql']['port'], "use_unicode": True, - "charset": "utf8", #utf8mb4 + "charset": "utf8", # regarded as utf8mb4 } self.conn_control = pymysql.connect(**mysql_config) @@ -51,13 +51,17 @@ def test_basic_replication(self): t TIMESTAMP) """ ) + self.execute("INSERT INTO basic_replication(id, f, t) VALUES(1, 12.34, '2023-09-25 00:00:00')") + self.execute("INSERT INTO basic_replication(id, f, t) VALUES(2, 12.34, '2023-09-25 00:00:00')") self.conn_control.commit() self.execute("UPDATE basic_replication SET f=56.78 WHERE id=1") + self.execute("UPDATE basic_replication SET f=56.78 WHERE id=2") self.conn_control.commit() self.execute("DELETE FROM basic_replication WHERE id=1") + self.execute("DELETE FROM basic_replication WHERE id=2") self.conn_control.commit() self.pymyelarepl.run() From 819a194df50aecb1b9d09b58ea92779f78c66543 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Sat, 7 Oct 2023 14:33:36 +0900 Subject: [PATCH 19/22] add inserting-data-to-es-in-bulk feature result --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 012f87e..eded6e5 100644 --- a/README.md +++ b/README.md @@ -47,9 +47,9 @@ restart the elasticsearch container, and in the pymyelarepl container, the results of the two cases are like the below: ``` -{'errors': False, 'took': 23, 'items': [{'create': {'_index': 'basic_replication', '_id': '1', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 6, '_primary_term': 2, 'status': 201}}]} -{'errors': False, 'took': 26, 'items': [{'update': {'_index': 'basic_replication', '_id': '1', '_version': 2, 'result': 'updated', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 7, '_primary_term': 2, 'status': 200}}]} -{'errors': False, 'took': 5, 'items': [{'delete': {'_index': 'basic_replication', '_id': '1', '_version': 3, 'result': 'deleted', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 8, '_primary_term': 2, 'status': 200}}]} +{'errors': False, 'took': 12, 'items': [{'create': {'_index': 'basic_replication', '_id': '1', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 6, '_primary_term': 1, 'status': 201}}, {'create': {'_index': 'basic_replication', '_id': '2', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 7, '_primary_term': 1, 'status': 201}}]} +{'errors': False, 'took': 11, 'items': [{'update': {'_index': 'basic_replication', '_id': '1', '_version': 2, 'result': 'updated', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 8, '_primary_term': 1, 'status': 200}}, {'update': {'_index': 'basic_replication', '_id': '2', '_version': 2, 'result': 'updated', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 9, '_primary_term': 1, 'status': 200}}]} +{'errors': False, 'took': 2, 'items': [{'delete': {'_index': 'basic_replication', '_id': '1', '_version': 3, 'result': 'deleted', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 10, '_primary_term': 1, 'status': 200}}, {'delete': {'_index': 'basic_replication', '_id': '2', '_version': 3, 'result': 'deleted', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 11, '_primary_term': 1, 'status': 200}}]} ``` From 4b40e61672766752b34ca3ff9720a677f0a9c050 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Sat, 7 Oct 2023 15:10:17 +0900 Subject: [PATCH 20/22] the project is not incomplete anymore! of course, still being developed --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eded6e5..db4ebe0 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ -This project replicates Mysql to Elasticsearch, which is being developed but able to migrate data between the two databases in a simple way. +This project replicates Mysql to Elasticsearch, reading binlog events and converting them to python objects to jsons. Note that the project does not supoort HTTPS when migrating. From 31781014024723de5c6a3ad95ef0012b3c2aa950 Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Thu, 16 Nov 2023 02:31:35 +0900 Subject: [PATCH 21/22] improve README to convey the exact meaning of the "give it a try" result --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index db4ebe0..c6f7d05 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ restart the elasticsearch container, and in the pymyelarepl container,
-the results of the two cases are like the below: +the results of the two cases are like the below, which means data is replicated successfully: ``` {'errors': False, 'took': 12, 'items': [{'create': {'_index': 'basic_replication', '_id': '1', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 6, '_primary_term': 1, 'status': 201}}, {'create': {'_index': 'basic_replication', '_id': '2', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 7, '_primary_term': 1, 'status': 201}}]} From df99b9f823ced328f6123ae78faa1afe4719269b Mon Sep 17 00:00:00 2001 From: jaehyeonpy Date: Thu, 16 Nov 2023 08:05:07 +0900 Subject: [PATCH 22/22] fix and improve step-by-step instructions: test, example, result --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c6f7d05..0cc246d 100644 --- a/README.md +++ b/README.md @@ -36,20 +36,30 @@ stop the elasticsearch container and modify /usr/share/elasticsearch/config/elas restart the elasticsearch container, and in the pymyelarepl container, ``` -(for test) cd pymyelarepl && python test/test.py +(for test) cd pymyelarepl && python test/test_basic.py -(after executing some sql in the mysql container, for example) cd pymyelarepl && python example/run.py + +(after executing the following sql in the mysql container as root without password, for example) cd pymyelarepl && python example/run.py + +CREATE DATABASE test; +use test; +CREATE TABLE test4 (id int NOT NULL AUTO_INCREMENT, data VARCHAR(255), data2 VARCHAR(255), PRIMARY KEY(id)); +INSERT INTO test4 (data, data2) VALUES ("Hello", "World"); +UPDATE test4 SET data="World", data2="Hello" WHERE id=1; +DELETE FROM test4 WHERE id=1; ```
-the results of the two cases are like the below, which means data is replicated successfully: +the results of the two cases are similar to the below, which means data is replicated successfully: ``` {'errors': False, 'took': 12, 'items': [{'create': {'_index': 'basic_replication', '_id': '1', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 6, '_primary_term': 1, 'status': 201}}, {'create': {'_index': 'basic_replication', '_id': '2', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 7, '_primary_term': 1, 'status': 201}}]} {'errors': False, 'took': 11, 'items': [{'update': {'_index': 'basic_replication', '_id': '1', '_version': 2, 'result': 'updated', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 8, '_primary_term': 1, 'status': 200}}, {'update': {'_index': 'basic_replication', '_id': '2', '_version': 2, 'result': 'updated', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 9, '_primary_term': 1, 'status': 200}}]} {'errors': False, 'took': 2, 'items': [{'delete': {'_index': 'basic_replication', '_id': '1', '_version': 3, 'result': 'deleted', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 10, '_primary_term': 1, 'status': 200}}, {'delete': {'_index': 'basic_replication', '_id': '2', '_version': 3, 'result': 'deleted', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 11, '_primary_term': 1, 'status': 200}}]} + +(blocked for the example) ```