I am trying to migrate from a bigger sized MySQL AWS RDS instance to a small one and data migration is the only method. There are four tables in the range of 330GB-450GB and executing mysqldump, in a single thread, while piped directly to the target RDS instance is estimated to take about 24 hours by pv (copying at 5 mbps).
I wrote a bash script that calls multiple mysqldump using ‘ & ‘ at the end and a calculated --where
parameter, to simulate multithreading. This works and currently takes less than an hour with 28 threads.
However, I am concerned about any potential loss of performance while querying in the future, since I’ll not be inserting in the sequence of the auto_increment id columns.
Can someone confirm whether this would be the case or whether I am being paranoid for no reasons.
What solution did you use for a single table that is in the 100s of GBs? Due to a particular reason, I want to avoid using AWS DMS and definitely don’t want to use tools that haven’t been maintained in a while.