improve performance of insertions using MySQL for 10 million records in 5 tables
A date in a VARCHAR?  That will probably be a nuisance later.
No PRIMARY KEY?  Naughty.  If it is a "mapping" table, see my tips and justficications
What order are the rows in?  If the incoming data is roughly in the same order as some index, then that index will be more efficiently built.  (This won't explain 22 hours.)
What is the value of innodb_buffer_pool_size, and how much RAM is there?  For 4GB of RAM, I recommend innodb_buffer_pool_size 2G
key_buffer_size applies to MyISAM, not InnoDB.  Use 20M if not using MyISAM.


Adding the secondary key after the LOAD will probably make it run faster.  However, it won't explain 22 hours.  In InnoDB, any KEY other than PRIMARY KEY is a 'secondary key'.  Currently (mob_no, act_date) is a secondary key.  (but it may be come PRIMARY if this is a mapping table).