doc/the-fine-print.md
Here are technical considerations you may be interested in. We write here things that are not an obvious Requirements & Limitations
gh-ost prefers connecting to a replica. If your master uses Statement Based Replication, this is a requirement.
What does "connect to replica" mean?
gh-ost connects to the replica as a normal clientgh-ost reads the RBR binary logs from the replica, and applies events onto the master as part of the table migration.
THE FINE PRINT:
You trust the replica's binary logs to represent events applied on master.
gh-ost likely won't work correctly.If your master is RBR, do instead connect gh-ost to master, via --allow-on-master (see cheatsheet).
Replication needs to run.
gh-ost will actually do all it can so that replication does not lag, and avoid critical operations if replication is lagging.gh-ost reads binary logs and then applies them onto the migrated server.
THE FINE PRINT:
gh-ost delivers more network traffic than other online-schema-change tools, that let MySQL handle all data transfer internally. This is part of the triggerless design.
gh-ost impersonates as a replica: it connects to a MySQL server, says "oh hey, I'm a replica, please send me binary logs kthx".
THE FINE PRINT:
SHOW SLAVE HOSTS or SHOW PROCESSLIST will list this strange "replica" that you can't really connect to.