zoukankan      html  css  js  c++  java
  • QT 5.15.2 配置MySQL 8.0 开发示例(含配套视频)

    今天用5.15配置了mysql 8.0的驱动,发现和以前的5.12稍有不同。

    按照5.12的配置方法,用qDebug() << QSqlDatabase::drivers();会有支持mysql字样出现,但是无法加载驱动。

    1.软件版本

    软件版本 QT 5.15

    mysql 8.0 (网上下载的安装包是32位的,实际安装到计算机上是64位版本)

    安装mysql 8的时候,选择密码的老的认证方法,这样,不用向以前再去表里面改认证方式。

    2. 用qt编译mysql

    2.1 修改 mysql.pro

    mysql.pro

    D:alantop_diralantop_ideQtQt5.12.95.12.9Srcqtbasesrcpluginssqldriversmysql

    mysql.pro做如下修改

    INCLUDEPATH +="D:alantop_diralantop_datamysql-8.0.20-winx64include"

    LIBS +="D:alantop_diralantop_datamysql-8.0.20-winx64liblibmysql.lib"

    DESTDIR = ../mysql/lib/

    生成的lib库文件:D:alantop_diralantop_ideQtQt5.12.95.12.9Srcqtbasesrcpluginssqldriversmysqllib

    编译的时候有提示一个工程路径错误,不影响,继续生成。

    工程编译后生成这三个:libqsqlmysql.a,qsqlmysql.dll,qsqlmysql.dll.debug

    2.2 把生成的文件拷贝到对应目录

    把libmysql.dll,libmysql.lib,ssleay32.dll,libeay32.dll 添加到QT bin目录下(如:D:alantop_diralantop_ideQtQt5.12.95.12.9mingw73_64in) (显示有驱动,但是无法加载就是这里少了MySQL的dll)

    把qsqlmysql.dll,qsqlmysql.dll.debug添加到sqldrivers目录下(如:D:alantop_diralantop_ideQtQt5.12.95.12.9mingw73_64pluginssqldrivers)

    3. qt 开发mysql程序 (注意qt的位数和mysql的位数对应 如果用32位的,都用32位,如果用64位的,对应都用64位的)

    3.1 修改工程文件

    QT += core gui sql

     

    3.2 qt连接mysql代码

     

    qDebug() << QSqlDatabase::drivers();

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

    db.setHostName("127.0.0.1");

    db.setUserName("test1");

    db.setPassword("12345678");

    db.setDatabaseName("wealth");

    if (!db.open())

    {

    QMessageBox::warning(this, "fail", db.lastError().text());

    return;

    }

    QSqlQuery query;

    query.exec("select name from bankbase");

    while (query.next())

    {

    qDebug() << query.value("name").toString();

    }

    db.close();

     

    4.mysql的查询

    以下查询使用mysql数据库查询

    use mysql

     

    mysql 查询数据库的安装版本

    show variables like "%version_%"

     


     

     

    查看用户的密码的认证方式

     显示mysql版本号

    select version()

     

    修改mysql 8.0密码认证方式

    CREATE USER test1@'%' IDENTIFIED WITH mysql_native_password BY '12345678'

    GRANT ALL on *.* TO test1@'%'

     

    附件是编译好的库,对应编译器 mingw81_64,使用只需要把对应的文件拷贝到对应目录即可。

    https://alantop.lanzoui.com/ipyzYu44sri

    下面是qt 5.12版本配置MySQL 8.0的驱动视频,可以参考下。(主要区别是动态链接库那个地方,多了2个文件)

    https://www.ixigua.com/6929803008054460935

  • 相关阅读:
    Codeforces Round #251 (Div. 2) A
    topcoder SRM 623 DIV2 CatAndRat
    topcoder SRM 623 DIV2 CatchTheBeatEasy
    topcoder SRM 622 DIV2 FibonacciDiv2
    topcoder SRM 622 DIV2 BoxesDiv2
    Leetcode Linked List Cycle II
    leetcode Linked List Cycle
    Leetcode Search Insert Position
    关于vim插件
    Codeforces Round #248 (Div. 2) B. Kuriyama Mirai's Stones
  • 原文地址:https://www.cnblogs.com/alantop/p/15303259.html
Copyright © 2011-2022 走看看