OnlineSchemaChange
OnlineSchemaChange copied to clipboard
Mysql 8 compatibility
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.
Thanks for the info. I'll attempt to fix it if the issues stop at just this naming compatibility.
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 likept-online-schema-change
has been updated and works, so I am able to use that for now. (curious if #18 ever went anywhere?)