После обновления Qt с 5.5 до 5.6 QSqlDatabase:open всегда возвращает true, даже если хост недоступен и/или для настроек имени пользователя/пароля/базы данных заданы бессмысленные значения.
Тестовый код:
QSqlDatabase* db = new QSqlDatabase(QSqlDatabase::addDatabase("QMYSQL", "TESTCONNECTION"));
db->setHostName(ip);
db->setPort(port);
db->setUserName(user);
db->setPassword(pwd);
db->setDatabaseName(dbName);
db->setConnectOptions("MYSQL_OPT_CONNECT_TIMEOUT=4");
bool ok = db->open();
Я скомпилировал библиотеки Qt sql с последней версией mysql (5.6.x).