facebookincubator/OnlineSchemaChange

Mysql 8 compatibility

Opened this issue · 3 comments

peppy commented

I have been using gh-ost until recently, but they are not actively supporting mysql 8. I am now looking at this project as a feasible alternative, but wanted to check whether you guys are looking at (or have experience) mysql compatibility?

The first issue I ran into was:

INFO      2019-05-05 07:39:49.535 == Stage 1: Init ==
ERROR     2019-05-05 07:39:49.540 SQL execution error: [1193] Unknown system variable 'tx_isolation'
When executing: SET SESSION tx_isolation = %s
With args: ('REPEATABLE-READ',)

(tx_isolation has been renamed to transaction_isolation)

This says that this project is likely not currently being used on MySQL 8 hosts, so I thought it is best I check on the planned direction of the project before continuing further.

We do plan to support mysql8 but as you can see are not yet. I am not able to offer any estimates of when that may be, but can at least say it will be more than a month and less than a year.

peppy commented

Thanks for the info. I'll attempt to fix it if the issues stop at just this naming compatibility.

peppy commented

I attempted to just update that variable, but ran into a couple more issues:

  • Checksumming doesn't work correctly. Skipping it still results in correct operation, but will likely require fixing. Turning on --detailed-mismatch-info and doing a manual diff showed no discrepancies.

Hopefully this is of some use when you guys get to updating.

  • Unrelated to MySQL version, the more killer issue for me is the STATEMENT replication requirement. I was attempting to run by changing the binlog format at runtime, but this requires every session to be flushed to properly take effect (which I was hoping to avoid). For the time being, it looks like pt-online-schema-change has been updated and works, so I am able to use that for now. (curious if #18 ever went anywhere?)