I have some business processes I run that require pulling and comparing data from two different MySQL servers, which, by virtue of being MySQL, are unable to talk to each other. Currently this is done by loading the result sets I need from each server into Excel and doing the comparison (very, very slowly) on my desktop machine. I would prefer to nab the data from one server and load it into the other server and do all of the comparison on server.

Problem is:

  • I don't want to use FEDERATED tables to do this.

  • While I can access the two databases, I do not have permissions to access the servers themselves (so mysqldump'ing/INTO OUTFILE'ing the result set and FTP/sending the results that way is right out).

  • I can't spend any money on this, unless its coming out of my own wallet.

I'm looking for a good piece of open source, free ETL middleware that will allow me to pass a query to one server, grab the result set, and load it into a staging table in the other server with (dare I hope), the ability to automate that process to run nightly.

1 Answer 1


The execsql scripting tool (https://pypi.org/project/execsql/) can be used for this purpose. It can connect to two databases, and the COPY metacommand (https://execsql.readthedocs.io/en/latest/metacommands.html#copy) can copy a table (or query) from one database to another in a single step.

Disclaimer: I wrote it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.