I have 3 databases db1, db2, db3 in mysql, synchronize the structure, schema, Type, length, primary key (the first column will always be the primary key) from db1 to db2 and db3, doing this synchronize the data of specific tables from db1 to db2, after that synchronize specific tables between db2 and db3, update a textbox and a progress bar with what is being done at the moment, create separate subs/functios, observations do not lock the form for this if necessary use async or delegates and generate all necessary functions and subs. in vb.net