Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Replication from MySQL to MS SQL

I'm facing a new challenge here. I can't seem to find precedence for replication from MySQL, running on a Linux box to MS SQL Server.

Has anybody done this before?

Most importantly all changes made to the MySQL database should be replicated on the MS database realtime or close. MS database are not likely to be updated in any other way, so a bidirectional facility is not required.


I thought one way is to read the changes out of the binary log. Has anyone parsed one before?

Thanks for your help guys.

like image 633
G Berdal Avatar asked Mar 01 '23 07:03

G Berdal


1 Answers

Triggers in MySQL could be used to catch changes and call a UDF, which could then execute ODBC queries to MSSQL. Likely terrible for performance, though.

If immediate replication isn't required:

  • Write triggers in MySQL that capture insert, update, and delete statements in a log table.
  • Poll the log table from MSSQL using ODBC and execute them, then delete those log entries.

Of course, T-SQL and MySQL's variant of SQL isn't exactly the same, but it should be close for trivial CUD operations.

like image 162
richardtallent Avatar answered Mar 05 '23 15:03

richardtallent