Innodb crash recovery - how to tell when it has completed?

Typically after MySQL is started, the applications are then
started. The one situation I’ve run into is when recovery
is being done, which may take some time - the applications will fail to connect and eventually give up & fail to start.

Is there an option to make mysqld (or mysqld_safe script) block, that is not return, until recovery is complete?

OR

Is there a way to tell via the mysql client or utilities
that recovery is in progress?

I’d hate to grep thru the .err file and look for a certain string… There must be a better way!

Thanks

the mysql utility has a --connect_timeout= option

You could try setting this to a large amount, although typically Id prefer to allow it timeout, and handle the failure by retrying later