TLS/SSL error: SSL is required, but the server does not support it QMYSQL: Unable to connect
#include "mainwidget.h"
#include <QApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlError>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
qDebug() << "Runned...";
QSqlDatabase db = QSqlDatabase::addDatabase("QMARIADB");
//db.setConnectOptions("CLIENT_SSL=0"); // так не работает
db.setHostName("host");
db.setPort(3306);
db.setDatabaseName("repairs_buys");
db.setUserName("user");
db.setPassword("password");
if(!db.open()) {
qDebug() << "Error:" << db.lastError().text();
} else {
qDebug() << "Connected successfully!";
}
db.close();
QSqlDatabase::removeDatabase("repairs_buys");
//MainWidget w;
//w.show();
return a.exec();
}
Я начал использовать Qt с MariaDB, и получаю вот такую ошибку: TLS/SSL error: SSL is required, but the server does not support it QMYSQL: Unable to connect.
Как отключить SSL в клиенте? На сервере он отключен. В интернете можно найти код для подключения без SSL и опции подключения такие как CLIENT_SSL не были установлены. По умолчанию должно работать без SSL. Почему у меня так не работает?
Ответы (2 шт):
Автор решения: Alexander Chernin
→ Ссылка
Попробуйте так:
db.setConnectOptions("SSL_MODE=DISABLED");
Или так:
//более старый синтаксис
db.setConnectOptions("MYSQL_OPT_SSL_MODE=0");
Автор решения: RomanSPB321
→ Ссылка
Оказывается, так работает из-за отcутствия libmariadb.dll! Как такое может быть? Но стало работать