MySQL(zip版)安装教程、配置Qt

zip版比msi版小,而且安装更简单。

【安装教程】

如果已安装,请先彻底删除,参考 https://www.cnblogs.com/xixixing/p/9672009.html

1、下载 https://dev.mysql.com/downloads/mysql/

 2、新建MySql文件夹,解压mysql-8.0.23-winx64.zip到此文件夹中,之后新建Data文件夹、my.ini

my.ini内容如下:注意标黄的路径

复制代码
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\MySQL
# 设置mysql数据库的数据的存放目录
datadir=C:\MySQL\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
复制代码

3、以管理员身份运行cmd

进入bin目录,初始化配置,安装mysql

启动mysql

 

 修改密码

【配置Qt】注意安装Qt时,勾选上Sources

用Qt打开mysql.pro,位置 C:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql

mysql.pro修改如下

qsqldriverbase.pri修改如下

 

 点击Qt左下角的锤子,编译。在mysqlDLL目录中生成了qsqlmysql.dll、qsqlmysqld.dll,将其复制到 C:\Qt\5.14.2\msvc2017_64\plugins\sqldrivers 中

 将 C:\MySql\lib 中的 libmysql.dll,复制到 C:\Qt\5.14.2\msvc2017_64\bin

【添加系统环境变量Path】

C:\MySql\lib

C:\Qt\5.14.2\msvc2017_64\bin

【Qt测试】

pro中添加

QT += sql

cpp内容

复制代码
#include <QCoreApplication>
#include<QDebug>
#include<QStringList>
#include<QSqlQuery>
#include<QSqlError>
#include<QSqlDatabase>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    qDebug()<<QString::fromLocal8Bit("可以使用的数据库");
    QStringList drivers=QSqlDatabase::drivers();
    foreach(QString driver,drivers)
        qDebug()<<driver;

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");  //连接的MYSQL的数据库驱动
    db.setHostName("localhost");         //主机名
    db.setPort(3306);                    //端口
    db.setDatabaseName("mysql");         //数据库名
    db.setUserName("root");              //用户名
    db.setPassword("123456");            //密码
    db.open();

    //测试连接

    if(!db.open())
    {
        qDebug()<<QString::fromLocal8Bit("连接失败")<<db.lastError().text();
        return 0;
    }
    else
    {
         qDebug()<<QString::fromLocal8Bit("连接成功");
    }

    db.close();

    return a.exec();
}
复制代码

 

posted @   夕西行  阅读(466)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示