Witam. Używam QT 4.7.4 i MySQL (5.5.15). Mam problem. Zabrałem się za aplikację, która ma korzystać z MySQL. Chcę aby łączyła się z bazą za pomocą SSL, gdyż będą to głównie połączenia zdalne, bezpośrednio do bazy, i jeszcze przy użyciu wifi.
Pierwszym problemem była oczywiście kompilacja sterownika do MySQL pod QT tak pod MSVC2008 jak i MinGW. Ale spoko - dałem radę w niecałe 2 dni ;P.
Drugim problemem była konfiguracja(rekompilacja) serwera MySQL z obsługą SSL - też spoko - pół dnia :) .
Trzecim problemem jest to, że nie mogę się połączyć z MySQL z poziomu QT . Jak wyłącze opcję REQUIRE SSL, to wszystko jest w porządku(oprócz braku SSL). Dla utrudnienia dodam, że MySQL Workbench CE 5.2.34.2 łączy się z MySQL przy użyciu SSL bez problemów ( podaję tylko ścieżki do certyfikatów ). - no i tu wymiękam. Wiem, że MySQL jest ok, certyfikaty są OK, bo Workbench się łączy. Co więc jest nie tak ? Podaję poniżej mój kod.
QSqlDatabase mysql = QSqlDatabase::addDatabase("QMYSQL");
QVariant v = mysql.driver()->handle();
qDebug() << v.typeName();
if(v.isValid() || (qstrcmp(v.typeName(), "MYSQL*") == 0))
{
MYSQL *mysql_handle = 0;
mysql_handle = reinterpret_cast<MYSQL*>(v.toByteArray().data());
if(!mysql_handle) return;
mysql_ssl_set(mysql_handle, "H:\\client-key.pem", "H:\\client-cert.pem", "H:\\ca-cert.pem", 0, 0 );
}
mysql.setHostName("192.168.23.92");
if(!mysql.open("ppp", "ppp"))
{
qDebug() << mysql.lastError().text();
}
Dodam, że używam wersji libmysql.lib z gotowej binarki mysql pod windowsa. Słyszałem, że tu może być problem. Jeśli tak, to bardzo proszę o link do źródeł, które kompilują się w miarę bez problemów na windowsie .
Dziękuję z góry.