--- a/src/server/storage/dbconfigmysql.cpp +++ b/src/server/storage/dbconfigmysql.cpp @@ -429,6 +429,17 @@ bool DbConfigMysql::startInternalServer( if (opened) { if (!mMysqlCheckPath.isEmpty()) { + if ( QDir(dataDir + QDir::separator() + QLatin1String("mysql")).exists() ) { + qCDebug(AKONADISERVER_LOG) << "Executing mysqlcheck detached."; + QProcess::startDetached(mMysqlCheckPath, { QStringLiteral("--defaults-file=%1/mysql.conf").arg(akDir), + QStringLiteral("--check-upgrade"), + QStringLiteral("--auto-repair"), +#ifndef Q_OS_WIN + QStringLiteral("--socket=%1/mysql.socket").arg(socketDirectory), +#endif + mDatabaseName + }); + } else { execute(mMysqlCheckPath, { QStringLiteral("--defaults-file=%1/mysql.conf").arg(akDir), QStringLiteral("--check-upgrade"), QStringLiteral("--auto-repair"), @@ -437,6 +448,7 @@ bool DbConfigMysql::startInternalServer( #endif mDatabaseName }); + } } // Verify MySQL version