avalon566/sharding-scaling

Parse MySQL binlog event

Closed this issue · 7 comments

For remove mysql-binlog-connector-java jar dependences and support MySQL real-time migrate, We need to dump and parse some important binlog events.

Following is require events I think:

  • ROTATE_EVENT
  • FORMAT_DESCRIPTION_EVENT
  • TABLE_MAP_EVENT
  • WRITE_ROWS_EVENTv2
  • UPDATE_ROWS_EVENTv2
  • DELETE_ROWS_EVENTv2
  • WRITE_ROWS_EVENTv1
  • UPDATE_ROWS_EVENTv1
  • DELETE_ROWS_EVENTv1
  • WRITE_ROWS_EVENTv0
  • UPDATE_ROWS_EVENTv0
  • DELETE_ROWS_EVENTv0

Has any other events we need to parse?

I have already finished ROTATE_EVENT,FORMAT_DESCRIPTION_EVENT,TABLE_MAP_EVENT,WRITE_ROWS_EVENTv2,UPDATE_ROWS_EVENTv2,DELETE_ROWS_EVENTv2

perhaps we can use canal to fetch mysql binlog events, which is fully functional and performs well

yes,but this project will merge into shardingsphere,the code and dependency must comply with the apache foundation rule,so we decide to rewrite this component.
this component design objectives also different to canal.

@SanmuWangZJU, of course, canal is fully functional to fetch mysql binlog events.
But it is too heavy in dependency and function. Even we only use dbsync module.

@SanmuWangZJU , Write/Update/Delete_rows_eventv0/1 also need to develop, but you need to discuss with @avalon566. Maybe he is working for it.

If you want to develop for other works, you can see #2 , and open a new issue to assign that work to yourself.

Write/Update/Delete_rows_eventv0 is used in old mysql version, so we can ignore these events now