Reported by @Urbanecm on irc.
MysqlInstaller::getEngines() doesn't check the $status return of getConnection(). This can result in a very confusing error.
At the very least, this should throw an exception using the $status value in the event no connection is available.
Based on irc conversation, probably trigerrable when doing an update with incorrect mysql credentials in the LocalSettings.php.