Open shlomi-noach opened 8 years ago
binlog_format
to row
binlog_row_image='minimal'
the PK may not be changedbinlog_row_image='full'
--test-on-replica
, which expects host to be a replica, and converts the table on the replica. This is for experimental alters for gaining trust in the tool. Once the table is altered, no switch take place. The replica can be stopped and the two tables (original & ghost) can be compared and verifies to be identical.--max-load
--auto-suggest-credentials
: the tool generates a GRANT
statement with new credentials and a random password, and asks the user to create these credentials, then polls until it is satisfied it can connect with these credentialsSHOW GRANTS FOR CURRENT_USER()
--exact-rowcount
which actually issues SELECT COUNT(*) FROM original_table
instead of estimating number of rows in table. This should only be allowed on the replica.chunk-size
or max-load
. This is an essential operational feature.--noop
flag, or rather the contrary, noop
by default and a --execute
to actually make things happen (similarly to existing pt-osc
)max-load
conditions. We may wish to throttle on threads_running
AND on thread_connected
AND on something else...ROLLBACK
events in binary log (I think this would be irrelevant on replicas, but relevant on master)RENAME COLUMN
INSERT INTO...SELECT
on the master. Read the rows from replica via app, write them onto master. This removes the last coupling of OSC with the master. It removes the last concurrency consideration on the master.@dozer47528 Sorry, not following; how do you mean "support data migrate model"?
gh-ost
to issue a large scale UPDATE
for you, using chunking and throttling?Also, please open a new Issue for a new feature request. This Issue was created in the very early days of gh-ost
to lay out the general plan.
Throwing around all ideas, in no particular order, lest we forget.