Qt中已经编译好了MySQL驱动,但是为什么运行db.open()还是无法打开数据库?

使用环境为QT5.13.1 + vs2015 + MySQL8.0.19

我已经跟着网上的教程编译好了QMySQL,并将响应的.dll文件和.lib文件拷贝到bin目录下。但是运行到db.open()时依旧无法打开数据库。

代码如下:

#include <QtCore/QCoreApplication>
#include <QtSql\qsqldatabase.h>
#include <QtSql\qsqlquery.h>
#include <QtSql\qtsqlglobal.h>
#include <QtCore\qdebug.h>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // 输出可用数据库
    qDebug() << "Available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
        qDebug() << driver;
    // 打开MySQL —— 一直都打不开
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");  // 驱动
    db.setHostName("localhost");
    db.setDatabaseName("mydata");
    db.setUserName("root");
    db.setPassword("");

    if (!db.open())
        qDebug() << "Failed to connect to root mysql admin.";
    else qDebug() << "open";

    QSqlQuery query(db);
    return a.exec();
}

运行结果如下:
图片说明

前面所有代码都能运行,到db.open()就返回false了。。。
求助大佬解惑!!!灰常感谢!!!

在代码“

qDebug() << "Failed to connect to root mysql admin.";

的前面获取 db.lastError(); 查看错误原因,很大程度上可能是连接的数据库不存在或者数据库名不对

写了端口号反而连不上???我不写端口就连上了