Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connector: MYSQL [Source/Destination] #1553

Open
simonl2002 opened this issue May 10, 2024 · 15 comments
Open

Connector: MYSQL [Source/Destination] #1553

simonl2002 opened this issue May 10, 2024 · 15 comments
Assignees
Labels
confluent cloud Connector that's available on Confluent Cloud connector:destination Request for a destination connector connector:source Request for a source connector debezium Connectors that's available via Debezium

Comments

@simonl2002
Copy link
Member

Resource name

MYSQL

Resource link

https://www.mysql.com/

Connector type

Source

Expected connector behavior

Connector should enable CDC stream of rows from mysql tables.

@simonl2002 simonl2002 added the triage Needs to be triaged label May 10, 2024
@simonl2002 simonl2002 added connector:destination Request for a destination connector connector:source Request for a source connector and removed triage Needs to be triaged labels May 10, 2024
@devarismeroxa devarismeroxa added debezium Connectors that's available via Debezium confluent cloud Connector that's available on Confluent Cloud labels May 14, 2024
@nickchomey
Copy link

It isn't obvious because mysql isn't mentioned anywhere, but apparently the vitess connector already does this. I confirmed it with the team in the discord server.

@simonl2002
Copy link
Member Author

simonl2002 commented May 16, 2024

@nickchomey we've decided to create a dedicated MYSQL connector. Vitess uses different terminology and it just feels easier to have dedicated connector.

@alarbada alarbada self-assigned this Jun 4, 2024
@nickchomey
Copy link

Looks like work started on this a couple months ago. Just adding a link to it for others to discover. https://github.com/conduitio-labs/conduit-connector-mysql

@simonl2002 simonl2002 moved this to In Progress in Conduit Roadmap Aug 12, 2024
@lovromazgon lovromazgon moved this to In Progress in Conduit Main Oct 4, 2024
@nadilas
Copy link

nadilas commented Oct 15, 2024

@nickchomey i understand the vitess connector is capable of handling a MySQL destination. Do you have an example setup? Can’t seem to connect from the connector to the MySQL instance (looking at the code suggests that it can only talk to a vitess vtable).

@nickchomey
Copy link

nickchomey commented Oct 15, 2024

I never used it. Try the official mysql connector that they've been working on for a few months! It's linked above

@simonl2002
Copy link
Member Author

@nadilas the MySQL connector is being worked on here: https://github.com/conduitio-labs/conduit-connector-mysql

@nadilas
Copy link

nadilas commented Oct 16, 2024

Thanks @simonl2002 @nickchomey, that connector does not have an implementation for a destination yet. I was hoping to get a temporary solution until the destination MySQL becomes ready.

@nickchomey
Copy link

nickchomey commented Oct 16, 2024

There's a branch where they're working on the destination connector. Looks like many commits were done yesterday on getting tests working - that's probably a sign that it is very close to being merged.

Either wait for that, or you could try building that branch to see if it works for you (I only use the source connector). If it doesn't, you could report any bugs and that would help get it merged sooner.

@nadilas
Copy link

nadilas commented Oct 16, 2024

I was actually toying with the idea of doing the destination code ourselves, but couldn’t yet put an effort estimate to the idea to weigh the feasibility. Thanks for the tip, I’ll look into the branch. 👍

@hariso
Copy link
Contributor

hariso commented Oct 16, 2024

The destination PR was reviewed, so I think it should be merged relatively soon. The Conduit team will be focusing on the MySQL connector (and a few others) a bit more now that we're done with the 0.12 release.:)

@hariso
Copy link
Contributor

hariso commented Oct 17, 2024

I was actually toying with the idea of doing the destination code ourselves, but couldn’t yet put an effort estimate to the idea to weigh the feasibility. Thanks for the tip, I’ll look into the branch. 👍

Regarding doing the destination code yourselves: the Connector SDK should make it fairly simple to do so. The destination are simpler compared to source obviously and usually it's only batching that might require some additional though (Conduit makes batching possible, but doesn't and can't require connectors to do so). Just for the record, here are a few guidelines about writing connectors: https://github.com/ConduitIO/conduit/blob/4b66347eb89a2bb8cf641565f7602bf36bc33137/docs/writing-a-connector-guidelines.md.

@nickchomey
Copy link

I can confirm that destination connectors are fairly simple. I've made one for surrealdb.

But this one should be ready soon, so you might as well wait.

@nadilas
Copy link

nadilas commented Oct 17, 2024

We just tested it today and seems to work okay. We need to get some processors in to convert e.g sql server datetime string to MySQL format, but the basics seem to work.
Will do some further testing tomorrow, thanks guys

@lovromazgon
Copy link
Member

@nadilas you're welcome to join our Discord server (if you haven't already) and let us know how it goes or ask if something is unclear, we're happy to assist you 😉

@hariso
Copy link
Contributor

hariso commented Oct 24, 2024

FYI, the destination PR was merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
confluent cloud Connector that's available on Confluent Cloud connector:destination Request for a destination connector connector:source Request for a source connector debezium Connectors that's available via Debezium
Projects
Status: In Progress
Status: In Progress
Development

No branches or pull requests

7 participants