《Qt入门(五)QT5.13 + MySql8.0 环境搭建》

前言:确保已经安装完成Qt源码,否则无法操作查看Qt安装目录下是否存在Src文件,不存在请重装QT
并且勾选源码选项如下图所示

在这里插入图片描述

一、源码选择安装

在这里插入图片描述

二、MySQL8.0.21安装

2.1 我这边是64位系统所以下载64位安装包
下载地址:https://dev.mysql.com/downloads/mysql/
在这里插入图片描述
下载完安装包解压出来,本人是解压在Qt目录下,然后在解压的C:\Qt\mysqllib\mysql-8.0.21-winx64

2.2创建my.ini文件
在这里插入图片描述
my.ini文件内容如下

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Qt\mysqllib\mysql-8.0.21-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\Qt\mysqllib\mysql-8.0.21-winx64\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

2.3安装
接下来运行win+R 运行cmd
1、进入C:\Qt\mysqllib\mysql-8.0.21-winx64\bin

cd C:\Qt\mysqllib\mysql-8.0.21-winx64\bin
mysqld --initialize --console

2、执行 mysqld --initialize --console 命令,记录下初始化密码: 9xalw5VQaD<S
后面改密码用
在这里插入图片描述
3、输入 mysqld -install 将mysql安装为Windows的服务,提示安装成功

mysqld --install#安装服务

4、 继续执行命令:net start MySQL 启动mysql

net start MySQL

在这里插入图片描述
2.4修改密码
1、输入mysqladmin -u root -p password 来修改临时密码,
在Enter password 输入前面记录的临时密码
在New password 输入新密码
在这里插入图片描述
最后提示密码修改成功 警告不用管
2、输入mysql -u root -p来登陆数据库,并输入前面修改后的密码
在这里插入图片描述

三、编译驱动

1、用QT打开:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro
直接编译,会报错。
2、 修改mysql.pro

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

# 以下就是我们需要添加的,对于具体的路径,以实际为准,看你安装的MySQL位置
INCLUDEPATH +="C:\Qt\mysqllib\mysql-8.0.21-winx64\include"
DEPENDPATH += "C:\Qt\mysqllib\mysql-8.0.21-winx64\include"
LIBS +="C:\Qt\mysqllib\mysql-8.0.21-winx64\lib\libmysql.lib"
DESTDIR = ../mysql/lib/

3、编译后会在磁盘根目录下plugins找到编译出的文件。
在这里插入图片描述

四、拷贝

1、打开C:\Qt\Qt5.13.0\5.13.0\Src\qtbase\src\plugins\sqldrivers\mysql\lib,复制路径下的所有文件到以下路径 C:\Qt\Qt5.13.0\5.13.0\mingw73_64\plugins\sqldrivers
在这里插入图片描述
2、 复制以下路径
C:\Qt\mysqllib\mysql-8.0.21-winx64\lib 的 libmysql.dll 和 libmysql.lib到以下路径
C:\Qt\Qt5.13.0\5.13.0\mingw73_64\bin

四、测试

新建一个widget 工程

QT       += sql

在相应文件中引入相关头文件

#include <QSql>
#include <QSqlQueryModel>
#include <QSqlDatabase>
#include <QSqlQuery>
#include<QDebug>
#include <QSqlError>

添加对应的代码

    QString hostName  = "localhost";   // 主机名
    QString dbName    = "mysql";   // 数据库名称
    QString  userName = "root";   // 用户名
    QString password  = "0824";   // 修改后的密码
    
    QSqlDatabase dbconn = QSqlDatabase::addDatabase("QMYSQL");
    dbconn.setHostName(hostName);
    dbconn.setDatabaseName(dbName);
    dbconn.setUserName(userName);
    dbconn.setPassword(password);
    if(dbconn.open()){
         qDebug()<<("MySQL Open Succeed!");
    } else {
         qDebug()<<("MySQL Open failed!");
         QSqlError error = dbconn.lastError().text();
         qDebug() << error.text();
    }
    dbconn.close();

在这里插入图片描述
如果出现错误
Your password has expired. To log in you must change it using a client that supports expired
表示密码过期,需要更改密码才行

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值